Node.js Babel Transpiler无法与Nodemon一起运行

Node.js Babel Transpiler无法与Nodemon一起运行,node.js,npm,babeljs,nodemon,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/

问题:

无法将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应该启动save并运行babel transpiler;然而,我在终端中得到以下信息

错误:需要巴别塔“^7.0.0-0”,但已加载“6.26.3”。如果您确信您有一个兼容版本的@babel/core,那么很可能是构建过程中加载了错误的版本。检查此错误的堆栈跟踪以查找第一个没有提到“@babel/core”或“babel core”的条目,以查看调用babel的内容

我认为这是由6.26的
babel cli
依赖项引起的,但当我删除该依赖项时,它会发出嘎嘎声:

[nodemon]启动进程失败,未找到“babel node”exec

在谷歌的机器上搜索,我看到一些其他人的设置更复杂,他们的解决方案似乎在我的脑海中飞过

娱乐步骤:

  • 运行
    npm init-y
    npm i nodemon

  • 按照此处的说明操作:(nodemon)已选中

  • 运行npm install@babel/core--save dev,因为有人警告我没有安装core

  • 运行
    npm启动


  • 在使用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运行脚本调整为:

    “开始”:“nodemon app/index.js——exec babel node app/index.js”


    感谢巴别塔松弛频道的回答

    在这里搜索了多个github问题和线程之后,这是唯一有效的解决方案。在粘贴此文件后,我不得不删除package-lock.json文件和node modules文件夹,并再次运行npm install以删除以前的节点模块文件的所有痕迹。从Babel 7.4.0开始,
    @Babel/polyfill
    软件包已被弃用,而倾向于直接包含
    核心js/stable
    via