《十四》对打包后的 JavaScript 文件中的代码进行压缩和丑化

Terser 是一个可以对 JavaScript 代码进行解释、压缩和丑化的工具集。本身是一个独立的工具,可以单独使用,也可以结合 Webpack 等构建工具一起使用。

早期是使用 uglify-js 来压缩、丑化 JavaScript 代码的,但是目前已经不再维护了,并且不支持 ES6+ 的语法。

单独使用:

  1. 安装 Terser,默认同时会安装对应的 CLII 工具:npm install terser

  2. 新建 src/index.js 文件,并编写代码。
    在这里插入图片描述

  3. 运行 terser ./src/index.js -o ./src/output.min.js 命令,会发现 Terser 生效生成了 src/index.min.js 文件,只是删掉了空格,其他都没有改变。

    -o :输出的文件。

    在这里插入图片描述

  4. 运行 terser ./src/index.js -o ./src/output.min.js -c defaults 命令,会发现 Terser 生效生成了 src/index.min.js 文件,死代码也被删掉。

    -c:对代码进行压缩。有很多配置选项,具体可查看官方文档。

    在这里插入图片描述

  5. 运行 terser ./src/index.js -o ./src/output.min.js -m toplevel 命令,会发现 Terser 生效生成了 src/index.min.js 文件,函数名、参数名等被丑化了。

    -m:对名词进行转换和丑化。有很多配置选项,具体可查看官方文档。

    在这里插入图片描述

在 Webpack 中使用:

在 Webpack 中是通过 TerserPlugin 插件来实现 Terser 功能的。Webpack5+ 默认就会安装 TerserPlugin 插件,之前的版本需要手动安装 TerserPlugin 插件。在 Webpack 配置文件中通过 optimization.minimizer 选项来配置 TerserPlugin 插件。

在 production 模式下,默认就会使用 TerserPlugin 插件来处理代码。

// webpack.config.js
const TerserPlugin = require('terser-webpack-plugin')

module.exports = {
    mode: 'development',
    devtool: 'source-map',
    optimization: {
        // 需要将 minimize 设置为 true
        minimize: true,
        // 在 minimizer 中通过 TerserPlugin 实例配置 Terser
        minimizer: [
            new TerserPlugin({
                // 有很多配置选项,具体可查看官方文档
                terserOptions: {
                    toplevel: true,
                }
            })
        ]
    },
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值