Webpack:F:\nochinese_path\React_code\webpack

mode: 'production' 与 TerserPlugin 的区别

1. mode: 'production'(模式设置)

设置 mode: 'production' 时,webpack 会自动启用多项生产优化,包括:

  • 代码压缩(默认使用 TerserPlugin)
  • Tree Shaking
  • 作用域提升(Scope Hoisting)
  • 移除未使用的代码
  • 优化模块 ID
  • 优化 chunk ID
  • 启用 optimization.minimize: true

2. TerserPlugin(压缩插件)

TerserPlugin 是用于压缩和混淆 JavaScript 的插件:

  • 压缩代码(移除空格、换行等)
  • 混淆变量名
  • 移除注释和死代码
  • 可自定义压缩选项

关键区别

当 mode: 'production' 时:

  • webpack 默认启用 TerserPlugin 进行压缩
  • 使用默认的压缩配置

手动配置 TerserPlugin 时:

  • 可以自定义压缩选项(如保留注释、自定义压缩级别等)
  • 可以替换为其他压缩工具(如 esbuild)
  • 可以禁用压缩(设置 minimize: false)
javascript 复制代码
  optimization: {
    minimize: true,
    minimizer: [new TerserPlugin()]
  }

由于已设置 mode: 'production',这里的 TerserPlugin 配置是冗余的。webpack 会自动使用 TerserPlugin。

如果需要自定义压缩选项,可以这样配置:

javascript 复制代码
optimization: {
  minimize: true,
  minimizer: [
    new TerserPlugin({
      terserOptions: {
        compress: {
          drop_console: true, // 移除 console
        },
        format: {
          comments: false, // 移除注释
        },
      },
    }),
  ],
}

总结:mode: 'production' 是全局优化设置,会自动启用 TerserPlugin;手动配置 TerserPlugin 主要用于自定义压缩行为。

MiniCssExtractPlugin

从JS中提取CSS,并在光盘文件夹中创建一个独立的文件,最后这个css.bundle.js会被通过htmlWebpackPlugin加在index.html

相关推荐
人工智能训练20 小时前
【极速部署】Ubuntu24.04+CUDA13.0 玩转 VLLM 0.15.0:预编译 Wheel 包 GPU 版安装全攻略
运维·前端·人工智能·python·ai编程·cuda·vllm
会跑的葫芦怪20 小时前
若依Vue 项目多子路径配置
前端·javascript·vue.js
2601_9495936521 小时前
基础入门 React Native 鸿蒙跨平台开发:模拟智能音响
react native·react.js·harmonyos
xiaoqi92221 小时前
React Native鸿蒙跨平台如何进行狗狗领养中心,实现基于唯一标识的事件透传方式是移动端列表开发的通用规范
javascript·react native·react.js·ecmascript·harmonyos
jin1233221 天前
React Native鸿蒙跨平台剧本杀组队消息与快捷入口组件,包含消息列表展示、快捷入口管理、快捷操作触发和消息详情预览四大核心功能
javascript·react native·react.js·ecmascript·harmonyos
烬头88211 天前
React Native鸿蒙跨平台实现二维码联系人APP(QRCodeContactApp)
javascript·react native·react.js·ecmascript·harmonyos
pas1361 天前
40-mini-vue 实现三种联合类型
前端·javascript·vue.js
摇滚侠1 天前
2 小时快速入门 ES6 基础视频教程
前端·ecmascript·es6
珑墨1 天前
【Turbo】使用介绍
前端
军军君011 天前
Three.js基础功能学习十三:太阳系实例上
前端·javascript·vue.js·学习·3d·前端框架·three