[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”

修复:“nodemon”不被识别为内部或外部命令、可运行程序或批处理文件

nodemon 服务器命令不起作用 - 我的第一个全栈 mern 环境

Angular CLI 'ng' 未被识别为有效命令

android' 未被识别为内部或外部命令

pip 未被识别为内部命令 [重复]