运行程序时出现NODE_ENV不是内部或外部命令,也不是可运行的程序,或者批处理文件
一般都是因为windows不支持导致的,需要安装一个 cross-env 包
介绍cross-env
cross-env这是一款运行跨平台设置和使用环境变量的脚本。
NODE_ENV=xxxxxxxx像这样设置环境变量时,大多数Windows命令提示符都会阻塞 。(Windows上的Bash是例外,它使用本机Bash。)同样,Windows和POSIX命令使用环境变量的方式也有所不同。对于POSIX,您可以使用:$ENV_VAR 和在Windows上可以使用%ENV_VAR%。
cross-env这样,您就可以使用单个命令,而不必担心为平台正确设置或使用环境变量。就像在POSIX系统上运行时一样,只需对其进行设置即可,并且cross-env会妥善设置。
首先npm install --save-dev cross-env
注意:cross-env的版本6仅支持Node.js 8和更高版本,Node.js 7或更低版本需要安装版本5,
npm install --save-dev cross-env@5
使用cross-env
在需要执行的命令前加cross-env
"scripts": {
"scripts": {
"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
}
}
最终,执行的命令为
webpack --config build/webpack.config.js
该NODE_ENV环境变量将被设置cross-env