vue-cli 4.x 发布前的一些优化

1.terser-webpack-plugin 插件的配置

a、首先安装开发依赖terser-webpack-plugin

b、之后增加vue.config.js文件,并写入代码

 

 1 // 打包去掉console
 2 const TerserPlugin = require('terser-webpack-plugin')
 3 module.exports = {
 4   // 打包后默认使用相对路径,否则会出现首页空白的情况
 5   publicPath: './',
 6   // 关闭源代码映射,当为false时,打包后的文件在浏览器源码目录将不再显示webpack://相关的源码
 7   // 不设置此选项,相当于把代码给别人白嫖
 8   productionSourceMap: false,
 9   configureWebpack: (config) => {
10     if (process.env.NODE_ENV === 'production') {
11       // 为生产环境修改配置
12       config.mode = 'production'
13       // 将每个依赖包打包成单独的js文件
14       const optimization = {
15         // 启用最小化压缩
16         minimize: true,
17         minimizer: [new TerserPlugin({
18           // 和productionSourceMap一样
19           // sourceMap: false,
20           terserOptions: {
21             compress: {
22               // 移除所有console相关的代码,比如console.log,console.error
23               drop_console: true,
24               // 关闭自动断点功能,vue代码里插入debugger指令后,执行到对应位置会自动断线,此选项是移除debugger指令
25               drop_debugger: true,
26               // pure_funcs数组是用来配置移除指定的指令,比如console.log  alert等等
27               // 移除console.log,需要配合.eslintrc.js文件里的如下设置,不然打包会出警告
28               // rules: {
29               //   'no-console':  'off',
30               // }
31               pure_funcs: ['console.log', 'console.error']
32             }
33           }
34         })]
35       }
36       // 将optimization的所有属性合并到config里
37       Object.assign(config, {
38         optimization
39       })
40     } else {
41       // 为开发环境修改配置
42       config.mode = 'development'
43     }
44   }
45 }

 

posted @ 2020-08-04 16:37  凉游浅笔深画眉  阅读(636)  评论(0编辑  收藏  举报