“NODE_ENV”不被识别为内部或外部命令,可操作命令或batch file

我正在尝试为node.js应用程序设置一个环境。 但我得到“NODE_ENV”不被识别为内部或外部命令,可操作的命令或batch file。 错误每一次。

这是什么意思,我该如何解决这个问题?

我正在使用Windows,也尝试设置NODE_ENV=development但没有运气。

帮帮我! 提前致谢。

这听起来像你的错误来自尝试运行这样的事情(这在Linux中起作用)

 NODE_ENV=development node foo.js 

在Windows中相当于是

 SET NODE_ENV=development node foo.js 

在相同的命令行中运行。 你提到设置NODE_ENV没有工作,但不清楚如何/当你执行它。

对于Windows使用&中间命令也。 喜欢,

  "scripts": { "start": "SET NODE_ENV=development & nodemon app/app.js", } 

我为此写了一个模块: win-node-env 。

它创建一个NODE_ENV.cmd来设置NODE_ENV环境变量,并用命令的其余部分和其参数生成一个子进程。

只要安装它(全局),并运行你的npm脚本命令,它应该自动使它们工作。

 npm install -g win-node-env 
  1. npm install "cross-env"模块。
  2. 修改代码为cross-env NODE_ENV=development node foo.js 然后你可以运行像npm run build
 set NODE_ENV=production & nodemon app/app.js 

将导致NODE_ENV在最后包含一个空格

 process.env.NODE_ENV == 'production'; //false process.env.NODE_ENV == 'production '; //true 

正如在这里的评论中提到的那样,用这个代替:

 NODE_ENV=production&& nodemon app/app.js