‘NODE_PATH’ 不是内部或外部命令,也不是可运行的程序批处理文件(webpack)
最近在学习webpack,当配置多环境webpack时,生产环境使用webpack.production.config.js,并 在 package.json中配置命令如下:
"scripts": {
"start": "webpack-dev-server --inline --hot --progress",
"build": "NODE_ENV=production webpack --config ./webpack.production.config.js --progress"
}
当执行命令:
npm run build
抛出错误:
‘NODE_PATH’ 不是内部或外部命令,也不是可运行的程序批处理文件
解决办法:
谷歌找了一下原因,说是这个命令在Windows下不能直接使用,找到一篇文章,说是可以下载一个 ‘across-env‘ 包,然后就能正常使用了(原博客文章找不到了o(╯□╰)o,这里深感抱歉),原博文大致教程如下:
安装 across-env:npm install across-env –save-dev 在 NODE_ENV=Environment 前面添加cross-env
可是我在使用npm安装失败,然后使用淘镜像宝的cnpm安装还是一直提示安装失败。
E:\projects\demo>npm install across-env –save-dev
npm WARN package.json webpack@1.0.0 No repository field.
npm WARN package.json webpack@1.0.0 No bin file found at move
npm ERR! Windows_NT 10.0.10586
npm ERR! argv “D:\\Program Files\\nodejs\\node.exe” “D:\\Program Files\\nodejs\\node_modules\\npm\\bin\\npm-cli.js” “ins
tall” “across-env” “–save-dev”
npm ERR! node v4.4.2
npm ERR! npm v2.15.0
npm ERR! code E404
npm ERR! 404 Registry returned 404 for GET on https://registry.npm.taobao.org/across-env
npm ERR! 404
npm ERR! 404 ‘across-env’ is not in the npm registry.
npm ERR! 404 You should bug the author to publish it (or use the name yourself!)
npm ERR! 404 It was specified as a dependency of ‘webpack’
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.
npm ERR! Please include the following file with any support request:
npm ERR! E:\projects\demo\npm-debug.log
这里不知道是不是我npm配置的原因,有待验证。
既然这个方法行不通就只有看看别的了。最后找到一个方法是在package.json中配置如下::
"build": set NODE_ENV=production webpack --config ./webpack.production.config.js --progress
然后就迫不及待的运行了一下
npm run build
然而始料不及,这次没有跑错,但是却只执行了这个,也木有打包什么的:
webpack@1.0.0 build E:\projects\demo
> set NODE_ENV=production webpack –config ./webpack.production.config.js –progress
最后看了半天才发现,自己太蠢了。也只能怪自己太粗心了,命令之间忘了加 ‘&&‘ 连接符
webpack@1.0.0 build E:\projects\demo
> set NODE_ENV=production && webpack –config ./webpack.production.config.js –progress
这时再运行
npm run build
已经能够顺利打包了:
> webpack@1.0.0 build E:\projects\video
> set NODE_ENV=production && webpack –config ./webpack.production.config.js –progress
Hash: ea6092115d850da126bb
Version: webpack 1.13.1
Time: 32544ms
至于在我npm start的时候看到那一串不停’奔跑’的命令行时,感觉这命令行显示的方式太丑了,滚那么快,我咋知道在干什么啊,就寻思着有木有美化的方法,Google了一下还真有,哈哈,下一篇文章我就来说说这个如何美化webpack编译时的命令行。