NODE_ENV跨平台设置
set NODE_ENV问题
最近接手系统中采用React作为管理端,其中有这样一句
"build": "node ./tools/gulpfile.js&&set NODE_ENV=__PROD__&&node ./tools/webpack.config.js"
复制代码
其中“set NODE_ENV=PROD”却未在我的Mac下生效,其他成员使用Windows。
原因是Windows下使用set NODE_ENV=xx,Unix下应该为export NODE_ENV=xx,于是不得不区分操作系统进行设置,于是就有了cross-env这个方案。
使用cross-env解决跨平台
修改命令为
"build": "node ./tools/gulpfile.js&&cross-env NODE_ENV=__PROD__&&node ./tools/webpack.config.js"
复制代码
执行后,结果还是TMD没生效。查看cross-env的Usage后,区别在于我使用了&&分隔,在后面的webpack.config.js中获取前面设置的NODE_ENV,问题是否出在这里呢?
&&与空格问题
感谢justjavac提供支持
&&为shell逻辑与运算符
格式
command1 && command2 [&& command3 ...]
command1执行成功才会执行command2,任意命令执行失败则不会再执行后面的命令
shell执行命令可以(;、&&、||)间隔
正确使用 cross-env vs cross-evn-shell
cross-env
"build": "node ./tools/gulpfile.js&&cross-env NODE_ENV=__PROD__ node ./tools/webpack.config.js"
复制代码
cross-env-shell
"build": "node ./tools/gulpfile.js&&cross-env-shell NODE_ENV=__PROD__ \"node ./tools/webpack.config.js && echo $NODE_ENV\""
复制代码
""包裹中的内容都可以有效取到cross-env-shell设置的环境变量,这里面的原理在于Node本身的跨平台机制spawn
参考
cross-env 不起作用怎么办?
转载请标明出处:
http://2tu.github.io/2018/01/18/NODE-ENV-cross/
本文出自Tu's blog
NODE_ENV跨平台设置相关推荐
- cross-env解决跨平台设置NODE_ENV的问题
cross-env解决跨平台设置NODE_ENV的问题 1 2 3 4 5 6 "scripts": { "lint": "gulp lint ...
- npm 脚本跨平台设置环境变量命令 cross-env
问题 不同操作系统平台设置和使用环境变量的命令不同,导致npm脚本异常 解决 使用cross-env,以统一方式设置环境变量,并能在不同平台兼容运行 安装 npm install --save-dev ...
- Windows设置NODE_ENV=production无效
Windows设置NODE_ENV=production无效 原因 原因 当前版本的Windows使用PowerShell作为默认的Shell,因此使用: $env:NODE_ENV="pr ...
- XXX@1.0.0 build: `NODE_ENV=production webpack --config webpack.config.js`报错的解决
1.我们先来分析一下这个报错的原因: 在build这个项目的时候失败 2.检查一下我是怎么配置的build 在项目中我使用了NODE_ENV=development的设置方式,而多数的windows不 ...
- VueCli3以下获取process.env.NODE_ENV数据
参考 对于VueCli3配置不同环境变量,请参考: vue-cli3创建项目 而对于Vuecli3以下的则要注意使用cross-env去设置变量! 以开发环境说明 运行脚本 "scripts ...
- 环境变量process.env.NODE_ENV详解
process.env.NODE_ENV详解 前几天一个月薪35k的兄弟,给我推了一个人工智能学习网站,看了一段时间挺有意思的.包括语音识别.机器翻译等从基础到实战都有,很详细,分享给大家. 一. p ...
- process.env.NODE_ENV详解
一. process.env.NODE_ENV是什么? 在node中,有全局变量process表示的是当前的node进程. process.env包含着关于系统环境的信息,但是process.env中 ...
- Vue中process.env.NODE_ENV详解
一文弄懂如何在 Vue 中配置 process.env.NODE_ENV 最近在研习 vue.config.js 文件,发现一行,甚是费解. process.env.NODE_ENV 查阅资料后,发现 ...
- 简单说说NODE_ENV
简单说说NODE_ENV 1.引言 2.什么是NODE_ENV? 3.windows配置NODE_ENV 4.Linux配置NODE_ENV 1.引言 一提到NODE_ENV,你应该会立马反应 ...
最新文章
- (0093)iOS开发自己账号跑真机报错:conflicting provisioning
- 一切技术创新史都是数据史
- VC程序编译成exe后需msvcr100.dll、msvcp100.dll才能运行的解决方法
- Java 网络通信必备之socket通信基本原理介绍
- 怎么把整个网站的代码中的一个词去掉_【杭州南牛网络】网站优化的最新优化方法...
- qt linux下实现vlc视频,vlc音视频开发(一)环境搭建(qt篇)
- C# 曲线上的点(一) 获取指定横坐标对应的纵坐标值
- 有读二本国防计算机学校,好的二本计算机大学
- STL中迭代器的介绍及分类
- 朴素的UNIX之-进程/线程模型
- 工具模板 | 用APOEM方法消除对用户行为的偏见
- 跟着 Apple 中国学习顶级中文文案排版
- 习惯三:要事第一--自我管理的原则
- 字节java岗位一面(凉面)
- Simulink系统仿真
- matlab矩阵的拉直,矩阵直积与拉直算子的有关性质及应用
- Django计算机毕业设计基于Web的软考题库平台python(源码程序+lw+远程部署)
- 音视频git学习资料汇总
- error:2006D080:BIO routines:BIO_new_file:no such file
- Flash28335_API_V210.lib免费下载获取方法