반응형
cross-env 설치
# babel-node로 스크립트를 실행하면 cache되어 plugin 스크립트를 수정해도 변경사항에 맞춰 실행되지 않음
# 실시간으로 변경 사항에 맞춰 실행할 수 있도록 설정값을 넘겨주기 위해 설치
yarn add --dev cross-env
package.json 설정
// <프로젝트>/package.json
{
...
"scripts": {
"start": "cross-env BABEL_DISABLE_CACHE=1 babel-node src/js/example.js"
},
...
"babel": {
"presets": [
"env"
],
"plugins": [
"./src/plugins/babel-plugin-custom"
]
}
...
}
스크립트 작성
// src/js/helloworld.js
export default 'Hello World';
// src/js/example.js
import helloworld from '@/js/helloworld';
console.log(helloworld);
babel plugin 스크립트 작성
// src/plugins/babel-plugin-custom.js
// import문에서 @를 루트 경로로 치환하는 스크립트
module.exports = function(babel) {
return {
visitor: {
ImportDeclaration: function(path){
var filepath = path.node.source.value;
if (filepath[0] !== "@") {
return;
}
filepath = filepath.substring(1);
filepath = process.cwd() + "/src" + filepath;
path.node.source.value = filepath;
}
}
}
};
스크립트 실행
yarn start
참고
반응형
'Development > NodeJS' 카테고리의 다른 글
[NodeJS] http 모듈을 활용한 웹서버 예제 (0) | 2020.12.29 |
---|---|
[NodeJS] Javascript를 Shell Script처럼 실행하기 (0) | 2020.12.29 |
[NodeJS] prettier, eslint 설정 (0) | 2020.12.29 |
[NodeJS] Node 설치하기 (0) | 2020.12.29 |
[NodeJS] node로 javascript 실행하기 (0) | 2019.11.14 |