[NODEMON]- babel-node 未被识别为内部或外部命令
Posted
技术标签:
【中文标题】[NODEMON]- babel-node 未被识别为内部或外部命令【英文标题】:[NODEMON]- babel-node not recognized as internal or external command 【发布时间】:2021-04-25 21:00:18 【问题描述】:我正在尝试设置一个简单的快速服务器。我正在使用 nodemon 启动我的开发服务器但我的应用程序不断崩溃,因为它无法识别“babel-node”命令。
错误输出是
[nodemon] 2.0.7
[nodemon] to restart at any time, enter `rs`
[nodemon] watching path(s): *.*
[nodemon] watching extensions: js,json
[nodemon] starting `babel-node index.js`
'babel-node' is not recognized as an internal or external command,
operable program or batch file.
[nodemon] app crashed - waiting for file changes before starting...
我的 package.json 脚本是
"scripts":
"test": "echo \"Error: no test specified\" && exit 1",
"startdev": "nodemon --ext js,json --exec babel-node index.js",
"start": "babel-node index.js"
我的依赖和开发依赖是
"dependencies":
"express": "^4.17.1",
"express-graphql": "^0.12.0",
"graphql": "^15.4.0",
"uuid": "^8.3.2"
,
"devDependencies":
"@babel/cli": "^7.12.10",
"@babel/core": "^7.12.10",
"@babel/node": "^7.12.10",
"@babel/plugin-proposal-object-rest-spread": "^7.12.1",
"@babel/preset-env": "^7.12.11",
"nodemon": "^2.0.7"
我尝试在没有 nodemon 的情况下使用常规 node 命令对其进行测试,它按预期运行
$ npm run start
> dev_forum@1.0.0 start
> babel-node index.js
Server is up...
我的文件夹结构在下面
enter image description here
index.js 的内容是
const express = require("express");
const app = express();
app.listen(() =>
console.log("Server is up...")
)
我也尝试删除我的 node_modules 和 package-lock.json 文件并重新安装,但仍然崩溃..
(*这是我的第一个问题;))
【问题讨论】:
【参考方案1】:我遇到了同样的问题并以这种方式解决了:
"scripts":
"start": "babel-node src/index.js",
"dev" : "nodemon --exec npm start"
在终端运行
npm run dev
【讨论】:
【参考方案2】:以上步骤都不适合我。我改用纱线。 删除你的 package-lock.json 然后做:纱线 这将添加依赖项,然后您可以运行它,很可能使用 yarn run dev (当然这取决于你在 package.json 上的脚本)。
【讨论】:
【参考方案3】:删除您的 node_modules 并按照以下步骤操作:
npm install --save-dev @babel/core @babel/cli @babel/preset-env @babel/node
然后,检查这些文件是否存在:
node_modules/.bin/babel-node
node_modules/.bin/babel-node.cmd - 仅限 Windows
node_modules/@babel/node/bin/babel-node.js
如果一切看起来不错,添加到 package.json:
"start": "nodemon --exec babel-node index.js",
【讨论】:
我已经这样做了,但错误仍然存在...错误:需要 Babel "^7.0.0-0",但加载了 "6.26.3".. 所以我通过还原解决了它回到 babel 版本 6 ... "devDependencies": "babel-cli": "^6.26.0", "babel-core": "^6.26.3", "babel-node": "^0.0.1 -security”,“babel-preset-env”:“^1.7.0”,“nodemon”:“^2.0.7” 还是同样的问题?尝试将您的 nide 版本恢复为 14 或尝试安装 nvm 并检查问题是否不是特定于节点版本。 以前我使用的是节点 v15,但使用的是节点 14.15.4,但我仍然遇到同样的错误。但我发现问题出在我的 babel 插件和预设上。我使用的是 @ babel/preset-env 和 @babel/plugin-proposal-object-rest-spread.. 我分别测试了每个,但仍然得到相同的错误。我通过使用以前版本的 babel-preset-env 和 babel-plugin-transform-object-rest-spread 包解决了这个问题。这些适用于 babel v6 和 v7 太好了!是的,看起来版本问题只是因为安装似乎很好,但很高兴听到你解决了它。 当我使用“npm start”时它对我不起作用,但当我使用“yarn start”时它很好以上是关于[NODEMON]- babel-node 未被识别为内部或外部命令的主要内容,如果未能解决你的问题,请参考以下文章
修复:“nodemon”不被识别为内部或外部命令、可运行程序或批处理文件