之前在公司做的一个vue-cli3的项目打包出来的js文件一直都是0,1,2,3,4.js 这样的文件 而不是生成的hash数值。后来经过调查发现NODE_ENV的值是undefined。
因为这个项目配置的多环境 所以在根目录定义了很多环境的.env文件。
例如.env.pro .env.test。但是没有在当前文件中声明是开发环境还是打包环境。所以声明下 就可以了。

.env.pro 文件头部声明

NODE_ENV = 'production'

另外说下NODE_ENV的作用
node中有全局变量process表示当前node进程,process.env包含着关于系统环境的信息。但是process.env中并不存在NODE_ENV这个东西,NODE_ENV只是一个用户自定义的变量,当我们在服务启动时配置NODE_ENV,或在代码中给process.env.NODE_ENV赋值,js便能通过process.env.NODE_ENV获取信息

通常这个变量用来区分开发与生产环境,加载不同的配置.

开发环境的需求:

模块热更新 (本地开启服务,实时更新)
sourceMap (方便打包调试)
接口代理  (配置proxyTable解决开发环境中的跨域问题)
代码规范检查 (代码规范检查工具)

生产环境的需求:

提取公共代码    
压缩混淆(压缩混淆代码,清除代码空格,注释等信息使其变得难以阅读)
文件压缩/base64编码(压缩代码,减少线上环境文件包的大小)
去除无用的代码

开发环境和生产环境的共同需求:
同样的入口
同样的代码处理(loader处理)
同样的解析配置

Logo

前往低代码交流专区

更多推荐