webpack4 之路:升级过程中遇到的坑

随着前端技术的不断发展,webpack 作为前端打包工具也随之发展并不断推出新版本。webpack 4 是其中的一个比较重要的版本,它带来了更好的性能和更好的处理方式,包括缓存和 Tree Shaking 等方面的优化。然而,在升级到 webpack 4 的过程中,也会遇到一些问题和坑。本文将对升级过程中的问题进行详细讲解,并提供有深度的学习和指导意义。

1. 升级过程

1.1 建议先升级 webpack 3

在升级 webpack 4 之前,建议先升级到更稳定的 webpack 3. 通过这个过渡,可以先看看自己的代码会遇到哪些问题,从而有备无患。

1.2 安装 webpack 4

可以通过如下命令安装 webpack 4:

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

1.3 升级 webpack-cli

webpack-cli 是一个单独的命令行工具,需要单独升级到最新版本。

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

1.4 升级 webpack-dev-server

如果你使用 webpack-dev-server 来进行开发,也需要对其进行升级。

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

2. 升级后的问题

2.1 output.path 问题

在 webpack 4 中,output.path 要求必须是绝对路径。如果你直接使用相对路径,会得到如下错误:

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

解决方法是使用 path 模块将相对路径转换为绝对路径,比如:

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

2.2 CommonsChunkPlugin

在 webpack 4 中,CommonsChunkPlugin 被移除了,取而代之的是 optimization.splitChunks 选项。例如下面的配置将同时对异步和非异步的模块分离 chunk。

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

2.3 MiniCssExtractPlugin

在 webpack 4 中,ExtractTextPlugin 被废弃了,取而代之的是 MiniCssExtractPlugin

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

2.4 Tree Shaking

webpack 4 对 Tree Shaking 进行了大幅度优化,大部分代码都可以直接使用。如果你的代码中还存在一些问题,可以通过使用 sideEffects 选项来关闭 Tree Shaking。

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

结论

通过本文的学习,我们可以深入了解 webpack 4 升级过程中的问题和解决方法。在遇到问题时,我们需要结合自身业务需求,合理选用合适的打包工具,遵循最佳实践,及时更新技术栈,从而提升项目的性能和整体质量。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/66f95168c5c563ced5c3dc17