terser
由於老牌工具uglify不支持es6,且uglify-es不再更新,我們選擇terser作為js代碼壓縮工具。
# 全局安裝terser命令行工具 npm install -g terser # 使用terser terser ./foo.js -c pure_funcs=[console.log],toplevel=true -m -o bar.js # -c即compress表示普通的壓縮代碼 # pure_funcs表示刪除代碼中的console.log方法 # toplevel為true表示只在頂級作用域壓縮清理變量 # -m即mangle會壓縮變量名等等 # -o代表輸出路徑
其他配置可以參考terser官網
terser-webpack-plugin
這是terser的webpack插件版。由於vue-cli工具中已經用到了terser-webpack-plugin,因此在vue-cli新建的項目中可以直接引入terser-webpack-plugin,無需安裝。
根據vue-cli3文檔,所有對webpack的個性化配置都要寫在vue.config.js中,示例如下:
const TerserPlugin = require("terser-webpack-plugin");
module.exports = {
configureWebpack: {
minimizer: [
new TerserPlugin({
terserOptions: {
compress: {
pure_funcs: ["console.log"]
}
}
})
]
}
}
