# terser-webpack-plugin (opens new window)

webpack JS 文件混淆插件

  • 使用 [schema-utils] 做 option 验证
  • compilation.hooks.optimizeChunkAssets 钩子做混淆操作
  • 使用 jest-worker (opens new window) 做多线程执行混淆任务
    • 子 worker 数量最大为系统 cpu 个数减一
    • 在主线程中判断缓存,有缓存直接取缓存结果
    • 无缓存再使用 worker 运行,之后在主线程将结果缓存下来
  • 使用 terser (opens new window) 对js文件做混淆
    • 保留必要的注释,如 /@preserve|@lic|@cc_on|^\**!/i
  • webpack4中,使用 cacache (opens new window) 做 key-content 的持久化缓存
  • webpack5中,使用 compilation.cache 做缓存
最后更新: 1/12/2023, 1:44:05 PM