更多文章,请在 Github blog查看
在搭建公司新的前端工程的架构中,须要在在package.json
的scripts
标签下配置一系列命令,以下所示:前端
"scripts": { "clear": "rm -rf build&& mkdir build", "start": "npm run clear&& NODE_ENV=development webpack-dev-server --host 0.0.0.0 --devtool eval --progress --color --profile", "deploy": "npm run pre&& npm run clear&& NODE_ENV=production webpack -p --progress" },
上面配置中的的&&
最开始使用的是;
,后来发现;
在windows环境中没法正常运行,因而改为了*unix和windows都兼容的&&
。可是公司的部分使用windows的同事在运行npm start
的时候,依然会报错:node
'NODE_ENV' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 npm ERR! Windows_NT 6.1.7601 npm ERR! argv "D:\\nodejs\\node.exe" "D:\\nodejs\\node_modules\\npm\\bin\\npm-cli.js" "start" npm ERR! node v4.0.0-rc.5 npm ERR! npm v2.14.2 npm ERR! code ELIFECYCLE npm ERR! yy-ydh-web@1.0.7 start: `npm run clear&& NODE_ENV=development && webpack-dev-server --host 0.0.0.0 --devtool ev al --progress --color --profile` npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the yy-ydh-web@1.0.7 start script 'npm run clear&& NODE_ENV=development && webpack-dev-server --host 0.0.0.0 --devtool eval --progress --color --profile'. npm ERR! This is most likely a problem with the yy-ydh-web package, npm ERR! not with npm itself. npm ERR! Tell the author that this fails on your system: npm ERR! npm run clear&& NODE_ENV=development && webpack-dev-server --host 0.0.0.0 --devtool eval --progress --color --profile npm ERR! You can get their info via: npm ERR! npm owner ls yy-ydh-web npm ERR! There is likely additional logging output above. npm ERR! Please include the following file with any support request: npm ERR! D:\workspace\node_modules\yy-ydh-web\npm-debug.log
简单来讲,就是windows不支持NODE_ENV=development
的设置方式。webpack
可是,又不想放弃这样简单方便的方式,因而只好求助于Google了。git
功夫不负有心人,在万能的google上,我找到了解决方法:cross-env。
这个迷你的包可以提供一个设置环境变量的scripts,让你可以以unix方式设置环境变量,而后在windows上也能兼容运行。github
npm install cross-env --save-dev
NODE_ENV=xxxxxxx
前面添加cross-env
就能够了。赶忙试试吧!web