此插件作用为修改已经存在的 cli-service命令对应的 NODE_ENV 值,在vue-cli中 ,NODE_ENV 影响着编译结果, 当 NODE_ENV 等于 production 时代码才会压缩混淆
默认情况下,NODE_ENV 取决于「模式」的不同:
若不指定 --mode 参数,或者指定的mode 值为 development、production、test 之一, 具体行为表现为:
vue-cli-service serve命令默认对应development模式,NODE_ENV==>developmentvue-cli-service build命令默认对应production模式,NODE_ENV==>productionvue-cli-service test:unit命令默认对应test模式,NODE_ENV==>test
若指定 --mode 参数 :
执行 vue-cli-service serve --mode staging,
-
当
.env.staging文件内部未设置NODE_ENV值, 则NODE_ENV==>production -
当
.env.staging文件内部设置NODE_ENV时, 则NODE_ENV==>.env.staging文件内部设置的值
本插件修改了两个命令对应的 NODE_ENV 值:
vue-cli-service serve使用serve命令时,NODE_ENV==>developmentvue-cli-service build使用build命令时,NODE_ENV==>production
无论是否指定mode参数、无论.env文件中是否明确指定了NODE_ENV,都无法更改NODE_ENV值,NODE_ENV只与命令相绑定。
换句话说:
-
vue-cli-service serve命令会启动开发服务器,代码不压缩混淆; -
vue-cli-service build命令会将代码压缩混淆,生成生产代码;
这样更加明确命令的意义所在。
其他行为和默认行为保持一致。