babel-node에서 babel pulgins를 사용하려면 .babelrc 설정
5956 단어 power-assertes2015자바스크립트es6
목적
ES2015로 작성하고 power-assert을 사용하는 소스 코드를 babel-node로 이동합니다.
이를 위해 babel-node에 babel-plugin-espower을 플러그인으로 지정하고 싶습니다.
결론
.babelrc 에 plugins를 설정합니다.
.babelrc
{
"plugins": [
"babel-plugin-espower"
]
}
배경
테스트 코드는 mocha compilers 옵션으로 espower-babel을 지정하면 움직일 수 있습니다.
mocha --compilers js:espower-babel/guess test"
제품 코드는 babel plugis 옵션을 사용하여 움직이는 소스 코드를 만들 수 있습니다.
babel --plugins babel-plugin-espower test.js
그러나 babel-node에는 plugins 옵션이 없습니다.
babel-node --plugins babel-plugin-espower
움직이지 않습니다.
error: unknown option `--plugins'
가 출력됩니다.
babel-node를 사용할 수 있으면, babel로 매번 트랜스파일 하지 않아도 좋아집니다. 운동으로 움직이는 것이 쉬워집니다.
nodemon과 함께 소스 코드의 변경 모니터링도 가능합니다.
babel-node의 거동 확인
시도에 babel-node의 인수를 늘려
babel-node --plugins babel-plugin-espower hoge.js
실행하면
module.js:338
throw err;
^
Error: Cannot find module '/Users/shigerunakajima/syamo/babel-plugin-espower'
at Function.Module._resolveFilename (module.js:336:15)
at Function.Module._load (module.js:278:25)
at Function.Module.runMain (module.js:501:10)
at Object.<anonymous> (/usr/local/lib/node_modules/babel/lib/_babel-node.js:144:25)
at Module._compile (module.js:460:26)
at Object.Module._extensions..js (module.js:478:10)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at startup (node.js:129:16)
node_modules 부하를 찾을 수 없습니다. 이것은
babel-node babel-plugin-espower
와 같은 거동입니다. 오류 메시지에 따라
plugins
옵션은 무시됩니다..babelrc 검증
다음 소스 코드로 확인합니다.
sample.js
import assert from 'power-assert'
let a = false
assert(a, 'a is not true.')
.babelrc 없음
npm install power-assert
babel-node sapmle.js
출력 결과
assert.js:86
throw new assert.AssertionError({
^
AssertionError: a is not true.
at decoratedAssert (/Users/shigerunakajima/syamo/node_modules/power-assert/node_modules/empower/lib/decorate.js:44:25)
at powerAssert (/Users/shigerunakajima/syamo/node_modules/power-assert/node_modules/empower/index.js:58:32)
at Object.<anonymous> (/Users/shigerunakajima/syamo/test.js:5:1)
at Module._compile (module.js:460:26)
at normalLoader (/usr/local/lib/node_modules/babel/node_modules/babel-core/lib/api/register/node.js:199:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/babel/node_modules/babel-core/lib/api/register/node.js:216:7)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at Object.<anonymous> (/usr/local/lib/node_modules/babel/lib/_babel-node.js:144:25)
assert로서는 움직이지만, power-assert의 상세 표시는 되지 않습니다.
.babelrc 있음
.babelrc에서 babel-plugin-espower을 지정합니다.
npm install power-assert babel-plugin-espower
babel-node sapmle.js
출력 결과
/Users/shigerunakajima/syamo/node_modules/power-assert/node_modules/empower/lib/decorator.js:66
throw this.errorToRethrow(e, message, context);
^
AssertionError: a is not true. # test.js:5
assert(a, 'a is not true.')
|
false
at decoratedAssert (/Users/shigerunakajima/syamo/node_modules/power-assert/node_modules/empower/lib/decorate.js:42:30)
at powerAssert (/Users/shigerunakajima/syamo/node_modules/power-assert/node_modules/empower/index.js:58:32)
at Object.<anonymous> (/Users/shigerunakajima/syamo/test.js:5:1)
at Module._compile (module.js:460:26)
at normalLoader (/usr/local/lib/node_modules/babel/node_modules/babel-core/lib/api/register/node.js:199:5)
at Object.require.extensions.(anonymous function) [as .js] (/usr/local/lib/node_modules/babel/node_modules/babel-core/lib/api/register/node.js:216:7)
at Module.load (module.js:355:32)
at Function.Module._load (module.js:310:12)
at Function.Module.runMain (module.js:501:10)
at Object.<anonymous> (/usr/local/lib/node_modules/babel/lib/_babel-node.js:144:25)
딱딱한
Reference
이 문제에 관하여(babel-node에서 babel pulgins를 사용하려면 .babelrc 설정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ledsun/items/e6a5b994e3ece89e81ca텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)