webpack优化

  • loader

    • babel-loader
      • 开启cacheDirectory用来缓存babel-loader的执行结果。
      • 通过 @babel/plugin-transform-runtime来减少打包的体积
  • resolve

    配置resolve,告诉webpack从哪里去找模块

  • IgnorePlugin

    忽略第三方包指定目录,比如moment.js的语言包

  • externals

    我们可以将一些JS文件存储在 CDN 上(减少 Webpack打包出来的 js 体积),在 index.html 中通过 script 标签引入

  • 抽离公共代码(optimization)

    即使是单页应用,同样可以使用这个配置,例如,打包出来的 bundle.js 体积过大,我们可以将一些依赖打包成动态链接库,然后将剩下的第三方依赖拆出来。这样可以有效减小 bundle.js 的体积大小。当然,你还可以继续提取业务代码的公共模块。

    • TerserWebpackPlugin压缩js、去除console
    • 通过splitChunks拆分代码,比如拆分公共组件模块
  • webpack自身的优化

    • tree-shaking
    • scope hosting作用域提升
  • 打包速度优化

    • 多进程打包
      • thread-loader
      • happypack
    • 缓存提升构建速度
      • hard-source-webpack-plugin
      • cache-loader
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 速度分析webpack有时侯打包很慢,而我们在项目中可能用了很多的plugin和 loader,想知道那个环节慢,...
    鱼儿灬天上飞阅读 593评论 0 0
  • webpack 优化主要分为两部分,一是优化构建速度,二是优化输出质量。所谓优化构建速度,那就是要打包快,优化输出...
    DJL箫氏阅读 1,737评论 0 3
  • # webpack优化 - 知识准备 - [webpack基础配置](https://juejin.im/po...
    Nordon阅读 841评论 0 1
  • 由于前端的快速发展,相关工具的发展速度也是相当迅猛,各大框架例如vue,react都有自己优秀的脚手架工具来帮助我...
    强哥科技兴阅读 512评论 0 1
  • 表情是什么,我认为表情就是表现出来的情绪。表情可以传达很多信息。高兴了当然就笑了,难过就哭了。两者是相互影响密不可...
    Persistenc_6aea阅读 126,525评论 2 7