问题:
无法将Babel Transpiler与Nodemon一起使用
详细信息:
在package.json中,我有:
"scripts": {
"start": "nodemon --exec babel-node --presets=es2015 -- src/app.js"
},
"dependencies": {
"nodemon": "^1.18.4"
},
"devDependencies": {
"@babel/cli": "^7.1.2",
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"babel-cli": "^6.26.0",
"babel-preset-env": "^1.7.0"
}
当我运行npm start
时,我的理解是nodemon应该开始保存并运行babel编译器。但是,我在终端中得到了以下内容。
错误:需要Babel“ ^ 7.0.0-0”,但已加载“ 6.26.3”。如果您确定拥有@ babel / core的兼容版本,则可能是您的构建过程中正在加载错误的版本。检查此错误的堆栈跟踪,以查找第一个未提及“ @ babel / core”或“ babel-core”的条目,以了解调用Babel的情况。
我认为这是由6.26的babel-cli
依赖性引起的,但是当我删除它时,它发出了嘶哑的声音:
[nodemon] failed to start process, "babel-node" exec not found
在优质的google计算机上搜索时,我发现其他人的设置更为复杂,他们的解决方案似乎浮现在脑海。
娱乐步骤:
运行npm init -y
和npm i nodemon
按照此处的说明进行操作:https://babeljs.io/setup#installation(nodemon)已选择
运行npm install @babel/core --save-dev
,因为警告我未安装核心。
运行npm start
答案 0 :(得分:0)
在使用nodemon运行Babel时,您需要包括这些软件包。
"devDependencies": {
"@babel/cli": "^7.1.2",
"@babel/core": "^7.1.2",
"@babel/polyfill": "^7.0.0",
"@babel/preset-env": "^7.1.0",
"@babel/node": "^7.0.0",
"nodemon": "^1.18.4"
}
然后将您的npm运行脚本调整为:
"start": "nodemon app/index.js --exec babel-node app/index.js"
感谢Babel Slack频道提供此答案!