1.1 cross-env是什么

运行跨平台设置和使用环境变量的脚本

1.2 出现原因

当您使用 NODE_ENV=production, 来设置环境变量时,大多数 Windows 命令提示将会阻塞(报错)。(异常是Windows上的Bash,它使用本机Bash。)换言之,Windows 不支持 NODE_ENV=production 的设置方式。

1.3 解决

cross-env 使得您可以使用单个命令,而不必担心为平台正确设置或使用环境变量。这个迷你的包(cross-env)能够提供一个设置环境变量的 scripts,让你能够以 Unix 方式设置环境变量,然后在 Windows 上也能兼容运行。

1.4 安装
npm install --save-dev cross-env
1.5 使用
{
"scripts": {
"build": "cross-env NODE_ENV=production webpack --config build/webpack.config.js"
}
}

NODE_ENV环境变量将由 cross-env 设置 打印 process.env.NODE_ENV === 'production'

例如,webpack很多都有设置如下:

// Source maps are resource heavy and can cause out of memory issue for large source files.
const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';

此时 该判断在打包的时候,会一直默认是需要map文件的, 其本身是有三种方式处理:

1: 根目录下创建 .env文件,并增加一句参数

GENERATE_SOURCEMAP=false

2: 将改语句改为:

// Source maps are resource heavy and can cause out of memory issue for large source files.
// const shouldUseSourceMap = process.env.GENERATE_SOURCEMAP !== 'false';
const shouldUseSourceMap = false;

3: 就用到我们这个插件,在package.json中创建一个用于不生成sourcemap的打包命令:

 "scripts": {
"start": "node scripts/start.js",
"build": "node scripts/build.js",
"build-p": "cross-env GENERATE_SOURCEMAP=false node scripts/build.js",
"test": "node scripts/test.js"
},

最新文章

  1. D3制作基础图表学习总结(part1)
  2. 10秒钟安装 Vim编辑器,5分钟浏览常用命令 2015.10.25
  3. Oracle 数据乱码
  4. Android 自定义seekbar中,thumb被覆盖掉一部分问题
  5. Device.js——检测设备平台、操作系统的Javascript 库
  6. 高性能Socket组件和RPC,让你像写本地代码一样开发网络应用和分布式程序
  7. BZOJ 1096: [ZJOI2007]仓库建设(动态规划+斜率优化)
  8. java开发常用技术
  9. Unity UGUI
  10. pwn入门题x2
  11. ppt演讲者模式
  12. Android so注入(inject)和Hook技术学习(三)——Got表hook之导出表hook
  13. 对 IIC 总线的理解、调用函数以及常见面试问题
  14. luoguP1850 换教室
  15. JAVA获取运行程序的src路径
  16. 浅析alsa声卡驱动snd_interval结构体openmin,openmax和integer含义
  17. HDU 1061 Rightmost Digit (快速幂取模)
  18. 使用postman做接口测试(一)
  19. CLR_Via_C#学习笔记之CLR的执行模型
  20. 隐居网V2.0

热门文章

  1. Java List集合排序
  2. Quarkus入门体验,22ms启动一个Web服务
  3. Windows喝水记录工具v2.0
  4. socket模块实现网络编程及struct模块解决黏包问题
  5. drf-restful规范、django原生编写接口
  6. 【已解决】SQL2012启动时报错:cannot find one or more cpmponents
  7. C# Replace:一个熟悉而又陌生的替换
  8. Cookie参数、Header参数
  9. Javascript中0.1+0.2===0.3?怎么解决这个问题?
  10. 基于NPOI封装导出Excel方法