Webpack 构建优化技巧总结:让你的打包速度再提升 50%

阅读时长 4 分钟读完

Webpack 是现代前端开发中必不可少的构建工具,它可以将多个源文件打包成一个文件,从而减少 HTTP 请求和网络负载,提高网站性能。但是,Webpack 打包速度较慢,会影响开发效率。为了解决这个问题,我们需要掌握一些优化技巧。

1. 使用 Tree Shaking

Tree Shaking 是一种只将代码中用到的部分打进包里的技术,可以有效减小打包后的文件大小。Webpack 只有在 mode 为 production 的情况下自动开启 Tree Shaking 功能,需要手动配置开启 development 模式下的 Tree Shaking。

这里需要注意的是,如果你的代码中包含 side effect,那么 Tree Shaking 会将这部分代码删除,可能会导致应用出现问题。所以我们需要在 package.json 中配置 "sideEffects": false,将不应该删除的代码标记出来,让 Tree Shaking 不要将这些代码删除。

-- -------------------- ---- -------
-- ------------
-
  ------- ---------
  -------------- -
    --------
    ---------
    ---------
    ---------
    ---------
    --------
    --------
    ---------
    --------
    --------
    ---------
    --------
    --------
    ---------
    ----------
    --------
    --------
    --------
    ---------
    --------
    --------
    --------
    --------
  -
-

2. 使用 HappyPack

Webpack 默认情况下只能使用一个 CPU 核心进行打包,这样会导致打包速度较慢。HappyPack 可以将任务分解给多个子进程去并发执行,从而提高打包速度。

-- -------------------- ---- -------
-- -----------------
----- --------- - ---------------------

-------------- - -
  ------- -
    ------ -
      -
        ----- --------
        -------- ---------------
        ---- -------------------
      --
    --
  --
  -------- -
    --- -----------
      -------- - -------------- --
    ---
  --
--

3. 使用 DllPlugin

DllPlugin 可以将第三方库打成一个独立的库文件,不需要每次打包时都重新构建,从而提高打包速度。

-- -------------------- ---- -------
-- -----------------
----- ------- - -------------------

-------------- - -
  -------- -
    --- -------------------
      ----- -------------
      ----- ----------------------- ---------------------
      -------- ----------
    ---
  --
--

在使用 DllPlugin 时,需要将第三方库和业务代码分别打包,然后在业务代码中引入第三方库。

4. 开启多个进程并行构建

在高性能的机器上,可以通过开启多个进程进行并行构建,从而提高构建速度。

5. 使用缓存

使用缓存可以避免重复编译,提高编译速度。Webpack 默认使用文件作为缓存,也可以使用其他类型的缓存。

-- -------------------- ---- -------
-- -----------------
-------------- - -
  ------ -
    ----- -------------
    ------------------ -
      ------- -------------
    --
  --
--

总结

以上就是 Webpack 构建优化技巧的总结,我们可以使用 Tree Shaking、HappyPack、DllPlugin、多进程并行构建和缓存等技术来提高打包速度。通过使用这些技巧,我们可以让 Webpack 的打包速度再提升 50%,从而提高开发效率和用户体验。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/647076d0968c7c53b0e97154

纠错
反馈