Babel Transpiler无法与Nodemon一起运行

时间:2018-10-06 00:09:53

标签: node.js npm babeljs nodemon

问题:

无法将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计算机上搜索时,我发现其他人的设置更为复杂,他们的解决方案似乎浮现在脑海。

娱乐步骤:

  1. 运行npm init -ynpm i nodemon

  2. 按照此处的说明进行操作:https://babeljs.io/setup#installation(nodemon)已选择

  3. 运行npm install @babel/core --save-dev,因为警告我未安装核心。

  4. 运行npm start

1 个答案:

答案 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频道提供此答案!