blog
blog copied to clipboard
跨平台设置NODE_ENV问题探究
关于windows不支持NODE_ENV=development的问题
场景:windows环境下,安装webpack-dev-server后,项目中执行npm run dev报错:
$ npm run dev
> [email protected] dev D:\ycc\Yonyou\course\webpack-course
> NODE_ENV=development webpack-dev-server --open --env.mode=development
'NODE_ENV' ▒▒▒▒▒ڲ▒▒▒▒ⲿ▒▒▒Ҳ▒▒▒ǿ▒▒▒▒еij▒▒▒
▒▒▒▒▒▒▒▒▒ļ▒▒▒
npm ERR! code ELIFECYCLE
npm ERR! errno 1
npm ERR! [email protected] dev: `NODE_ENV=development webpack-dev-server --op en --env.mode=development`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] dev script.
npm ERR! This is probably not a problem with npm. There is likely additional log ging output above.
npm ERR! A complete log of this run can be found in:
npm ERR! D:\tools\nvm\v8.11.3\node_cache\_logs\2018-09-11T08_26_50_585Z-debu g.log
探究原因:
查看node版本为v7.0.0,以为是node版本过低导致的,结果更新至最新版本后还是不行,在网上查了资料,把package.json里面设置的
"dev": "NODE_ENV=development webpack-dev-server --open --env.mode=development"
改为
"dev": "webpack-dev-server --open --env.mode=development"
查明原因:修改以上配置后项目就可以成功启动了,原因是windows不支持NODE_ENV=development造成的
解决方案:
- 使用cross-env解决跨平台设置环境变量NODE_ENV的问题
- 通过cnpm install -s cross-env安装cross-env包
- 修改package.json的脚本命令,如下所示
"dev": "cross-env NODE_ENV=development webpack-dev-server"
- 重新启动项目就可以了