A-A+

解决问题:NODE_ENV 不是内部或外部命令,也不是可运行的程序,或者批处理文件

2017年09月11日 Web开发 暂无评论 阅读 210 views 次

1 环境

win10+powershell

2 问题

我要执行的npm script如下: 
(脚本的内容不需要关注,需要关注的是它的写法。)

"scripts": { "build": "NODE_ENV=production webpack", "dev": "NODE_ENV=development node dev-server.js" }
  • 1
  • 2
  • 3
  • 4

两个脚本都报同样的错误:

NODE_ENV 不是内部或外部命令,也不是可运行的程序,或者批处理文件

事实上,以上两条脚本都合并两条命令(这种操作在powershell中不被支持,在cmd中也不被支持,这是Mac中bash或Linux的shell中的独特操作),拆分两条脚本如下:

"scripts": { "build": "set NODE_ENV=production && webpack", "dev": "set NODE_ENV=development && node dev-server.js" },
  • 1
  • 2
  • 3
  • 4

运行脚本,没有报错

下面的方法,更好用。

简单来说,就是windows不支持NODE_ENV=development的设置方式。

但是,又不想放弃这样简单方便的方式,于是只好求助于Google了。

解决方式

功夫不负有心人,在万能的google上,我找到了解决方法:cross-env
这个迷你的包能够提供一个设置环境变量的scripts,让你能够以unix方式设置环境变量,然后在windows上也能兼容运行。

使用方法:

  • 安装cross-env:npm install cross-env --save-dev

  • 在NODE_ENV=xxxxxxx前面添加cross-env就可以了。

赶紧试试吧!

打赏作者
如果文章对您有所帮助请打赏支持本站发展。

您的支持将鼓励我们继续创作!

[微信] 扫描二维码打赏

[支付宝] 扫描二维码打赏

标签:

给我留言

您必须 登录 才能发表留言!

Copyright © 前端技术分享休闲玩耍去处分享-大一网 保留所有权利.   Theme  Ality

用户登录 ⁄ 注册

分享到: