webpack 4 升级迁移

Webpack 4 升级迁移指南

Webpack 是一个常用的前端打包工具,它可以将多个模块打包成一个或多个 bundle。Webpack 4 是最新版本,并且在性能和功能方面都有所改进。本文将介绍如何升级到 Webpack 4,并提供一些深度和学习以及指导意义。

1. 安装 Webpack 4

首先,你需要使用 npm 或 yarn 来安装 Webpack 4。

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

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

如果你正在从旧版本的 Webpack 进行升级,那么你需要先卸载原来的 Webpack。

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

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

2. 配置文件更改

Webpack 4 的默认配置与之前版本不同。以下是一些主要更改:

2.1 mode 选项

Webpack 4 引入了 mode 选项,默认情况下为 'production''development'mode 可以自动启用某些插件,例如 UglifyJSPlugin 和 DefinePlugin 等。

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

2.2 optimization 选项

Webpack 4 新增了 optimization 选项,用于配置优化策略。其中 minimize 选项已经被移除。你可以使用 optimize-css-assets-webpack-pluginuglifyjs-webpack-plugin 来压缩 CSS 和 JavaScript。

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

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

2.3 插件更改

Webpack 4 移除了一些插件,例如 CommonsChunkPlugin 和 ModuleConcatenationPlugin 等。部分插件被合并到 Webpack 的核心代码中,所以不再需要显式配置。例如,Scope Hoisting 现在作为默认行为启用。

以下是一个简单的配置文件示例:

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

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

3. 其他更改

除了上述更改之外,Webpack 4 还具有其他一些更改:

  • 默认情况下,Webpack 4 不再自动加载 polyfill。你需要手动添加。
  • Webpack 4 支持多种模块类型,包括 CommonJS、AMD、ESM 和其他类型。
  • Webpack 4 不再支持 Node.js v4。建议使用 Node.js v6 或更高版本。

4. 结论

Webpack 4 是一个功能强大的工具,并提供了许多新的功能和性能优化。虽然升级可能需要一些时间和努力,但它可以帮助你更好地管理前端项目。如果你遇到困难,可以参考官方文档或社区资源,以获得更多帮助。

来源:JavaScript中文网 ,转载请联系管理员! 本文地址:https://www.javascriptcn.com/post/37848


猜你喜欢

  • npm 包 aurora.js-mp3 使用教程

    简介 aurora.js-mp3 是一个基于 JavaScript 的 MP3 音频解码器。它可以通过 npm 包管理器安装使用,非常适合在前端开发中使用。 本文将介绍如何安装和使用此库,并提供详细的...

    6 年前
  • npm 包 better-dateinput-polyfill 使用教程

    什么是 better-dateinput-polyfill better-dateinput-polyfill 是一个用于提供更好的日期选择器的 JavaScript 库。

    6 年前
  • npm 包 tmlib.js 使用教程

    tmlib.js 是一个轻量级、易用性强的 JavaScript 游戏库,它提供了丰富的游戏开发工具和函数,可以帮助我们快速地开发 2D 游戏。 安装 tmlib.js 要使用 tmlib.js,我们...

    6 年前
  • NPM包 Promin使用教程

    Promin是一个可以在Web页面中实现进度条效果的JavaScript库。它基于Promise和异步函数,可以方便地与其他JavaScript框架或库一起使用。 本文将为您提供如何使用Promin创...

    6 年前
  • npm 包 bootstrap-year-calendar 使用教程

    Bootstrap Year Calendar 是一个基于 jQuery 和 Bootstrap 的开源年历插件,它可以在网页上方便地展示一整年的日历,并支持日期选择、事件标记等多种功能。

    6 年前
  • npm 包 tocktimer 使用教程

    介绍 tocktimer 是一个小巧且易于使用的 JavaScript 库,用于轻松创建可定制的时钟和倒计时器。此库可以在 Web 浏览器和 Node.js 环境中使用,并提供了许多选项以满足您的需求...

    6 年前
  • npm 包 qwerty-hancock 使用教程

    简介 qwerty-hancock 是一款基于 Canvas 的 JavaScript 库,用于创建动态的音频可视化效果。它具有简单易用、高度可定制化等特点。 安装 在使用 qwerty-hancoc...

    6 年前
  • npm 包 TypeWatch 使用教程

    在前端开发中,我们经常需要监听用户在输入框内的输入内容,并及时地做出相应的操作。这时候,一个叫做 TypeWatch 的 npm 包就可以派上用场了。 TypeWatch 可以帮助我们监听用户在输入框...

    6 年前
  • npm包 angular-autofields 使用教程

    简介 angular-autofields是一个可轻松实现Angular表单自动生成的npm包,可以大大提高前端开发效率。 安装 使用npm安装angular-autofields: --- ----...

    6 年前
  • npm 包 Ripple.js 使用教程

    Ripple.js 是一个用于在用户交互时创建涟漪效果的 JavaScript 库。它可以轻松地集成到前端网页中,使得用户点击按钮、链接等元素时产生动态的效果,增强了用户体验和网页的交互性。

    6 年前
  • npm包leaflet-tilelayer-geojson使用教程

    简介 leaflet-tilelayer-geojson 是一个基于 Leaflet 的 JavaScript 库,它可以在地图上加载 GeoJSON 格式的数据。

    6 年前
  • npm包iGrowl使用教程

    什么是iGrowl iGrowl是一款基于jQuery的轻量级的通知插件,能够在页面中快速地实现弹出提示、警示或者错误信息的展示。 安装iGrowl 可以通过npm安装iGrowl,具体操作如下: -...

    6 年前
  • 使用 ng-fittext 对响应式文本进行自动调整

    在前端开发中,我们经常需要处理不同大小的屏幕和设备。其中一个挑战是确保文本看起来合适并且易于阅读。这就是 ng-fittext 库的用武之地。 ng-fittext 是一个 AngularJS 指令,...

    6 年前
  • 使用 tabellajs:一个适用于前端的 npm 包教程

    在前端开发中,我们常常需要展示数据。如果数据量大、表格样式复杂,手写 HTML 和 CSS 可能会非常繁琐。这时候,使用 tabellajs 可以帮助我们更快速地创建和管理表格。

    6 年前
  • npm包jquery-cascading-dropdown使用教程

    简介 jquery-cascading-dropdown是一个用于构建级联下拉列表(Cascading Dropdown)的jQuery插件。它可以让你在前端轻松地实现省市区、商品分类等级联下拉列表。

    6 年前
  • npm 包 planout 使用教程

    介绍 PlanOut 是一个 Facebook 开源的用于 A/B 测试、流量分配等场景下进行随机化实验的工具。PlanOut 允许你在 JavaScript 中写实验配置,并提供了一套通用的实验控制...

    6 年前
  • npm 包 node-uuid 使用教程

    node-uuid 是一个用于生成 UUID(通用唯一标识符)的 npm 包。UUID 是一种 128 位数字,用于在计算机系统中唯一地标识信息。 在前端开发中,我们经常需要为特定目的生成 UUID,...

    6 年前
  • npm 包 cellx 使用教程

    什么是 cellx? cellx 是一个用于构建响应式数据模型的 JavaScript 库。通过使用 cellx,可以方便地实现数据绑定和观察。 安装 可以在 npm 上获取到 cellx: --- ...

    6 年前
  • npm 包 cssobj 使用教程

    在前端开发中,CSS 是不可或缺的一部分。然而,当项目变得越来越大时,管理 CSS 变得困难起来。为了解决这个问题,有许多 CSS 处理工具和框架出现。在这篇文章中,我将介绍一个名为 cssobj 的...

    6 年前
  • npm 包 trackpad-scroll-emulator 使用教程

    简介 trackpad-scroll-emulator 是一个基于 JavaScript 实现的 npm 包,它可以模拟鼠标滚轮事件。在某些情况下,我们需要模拟鼠标滚轮事件来触发页面的滚动效果,而此时...

    6 年前

相关推荐

    暂无文章