1. 升级 webpack 和 webpack-cli

1.1 升级 webpack 4 至最新的可用版本。

当使用 webpack >= 4 时,升级到最新的 webpack 5 版本无需额外的操作;

如果你使用的 webpack 版本小于 4,请查阅 webpack 4 迁移指南。

npm install webpack@latest -D

1.2 升级 webpack-cli 到最新的可用版本(如使用 webpack-cli)

cnpm install webpack-cli@latest -D

2. 升级所有使用到的 plugin 和 loader 为最新的可用版本。

部分 plugin 和 loader 可能会有一个 beta 版本,必须使用它们才能与 webpack 5 兼容。

2.1 webpack-dev-server

cnpm install webpack-dev-server@latest -D

报错 Error: Cannot find module 'webpack-cli/bin/config-yargs.

使用 webpack serve 启动即可解决

package.json

"scripts": {
- "start": "webpack-dev-server --config config/webpack.dev.js",
+ "start": "webpack serve --config config/webpack.dev.js",
}

参考资料

报错 webpack.NamedModulesPlugin is not a construct.

config.plugins

[
new HtmlWebpackPlugin({
filename: 'index.html',
template: `public/templates/${template}.html`,
chunks: [`${themeName}`],
}),
- new webpack.NamedModulesPlugin(),
new webpack.HotModuleReplacementPlugin({}),
]

config.optimization

optimization: {
+ moduleIds: 'named',
}

参考资料

2.2 webpack-merge

npm install webpack-merge@latest -D

导入方式改动下

- const merge = require('webpack-merge')
+ const { merge } = require('webpack-merge')

2.3 HTML Webpack Plugin

报错 Cannot add property htmlWebpackPluginAlterChunks, object is not extensible.

升级到最新版本即可解决

npm install html-webpack-plugin@latest -D

参考资料

webpack4 升级到 5的更多相关文章

  1. webpack4升级指南

    webpack4升级指南 鉴于图书项目编译速度极慢的情况(项目里面module太多了,编译慢很正常)且最近需求不多(很少出现的空挡期).所以我觉得搞一波webpack升级,看看有没有帮助.webpac ...

  2. webpack4升级extract-text-webpack-plugin和UglifyJsPlugin问题

    webpack4升级extract-text-webpack-plugin和UglifyJsPlugin问题 1.  使用了extract-text-webpack-plugin插件后,编译出错,代码 ...

  3. 基于Vue cli生成的Vue项目的webpack4升级

    前面的话 本文将详细介绍从webpack3到webpack4的升级过程 概述 相比于webpack3,webpack4可以零配置运行,打包速度比之前提高了90%,可以直接到ES6的代码进行无用代码剔除 ...

  4. 趁webpack5还没出,先升级成webpack4吧

    上一次将webpack1升级到3,也仅是 半年前,前端工具发展变化太快了,如今webpack4已经灰常稳定,传说性能提升非常高,值得升级. 一直用着的webpack3越来越慢,一分多钟的编译时间简直不 ...

  5. webpack 3 升级 webpack4 个人笔记

    参考文章: 1. webpack4升级完全指南 https://segmentfault.com/a/1190000014247030 2. Mobx useStrict is not a funct ...

  6. webpack4:连奏中的进化

    webpack4在2月底的时候发布,这次webpack4有了一个名字"Legato",也就是"连奏"的意思,寓意webpack在不断进化,而且是无缝(no-ga ...

  7. Vue核心技术 Vue+Vue-Router+Vuex+SSR实战精讲

    第1章 课程介绍课程介绍,介绍课程的章节安排和学习本门课程的一些注意点.1-1 课程导学 试看1-2 项目介绍1-3 Webpack4升级注意 第2章 Vue+Webpack的前端工程工作流搭建详细讲 ...

  8. webpack3升级为webpack4

    写在前面的话:为什么要升级,因为公司目前的项目使用webpack3,但是因为是多页应用,入口估计有一百多个,开发模式下慢得不像话,修改一个文件需要十几秒才编译好,之前的解决方案是减少入口,但是要调试其 ...

  9. webpack4工具链升级排坑记录

    1.webpack4号称是0配置,于是我就只设置了entry.resolve.output.module->rules之类的属性,结果通过webpack-bundle-analyzer跑出来发现 ...

  10. 基于vue-cli 将webpack3 升级到 webpack4 配置

       升级webpack4前 先删除之前的webpack, babel-loader  下载 webpack npm i -D webpack@4 webpack-cli@3 webpack-dev- ...

随机推荐

  1. 1-2 【包子mysql系列】, 对mysql的innoDB加锁分析

    innoDB的事务,是基于锁来实现的,用到事务不自然就会用到锁,而如果对锁理解的不通透,很容易造成线上问题. 数据库加锁的分析,和事务的引擎,隔离级别,索引,主键索引都有关系, 如果去考虑引擎和各种隔 ...

  2. AtCoder Beginner Contest 370 补题记录

    A - Raise Both Hands 题意: 给出Snuke举的左右手情况,如果只举左手,输出Yes,如果只举右手,输出No,否则输出Invalid 思路: 举左手:(l == 1 &&a ...

  3. ESP实现Web服务器

    ESP实现Web服务器 典型的基于 ESP32 的静态网页与图片嵌入展示的 本地 Web Server(AP 模式)项目 项目功能概述 ESP32 创建一个 Wi-Fi 热点,启动一个 HTTP We ...

  4. 【uni-app】在windows10系统中HBuliderX用iPhone苹果手机进行调试运行详细说明

    测试准备: 1)iphone13  ios18.4.1  和一根可以读取数据的苹果线 2)HBuliderX打开uni-app项目文件(项目图标是正方形内一个U) 3)windows10系统 测试目标 ...

  5. 代码随想录第六天 | 哈希表part02

    454.四数相加II 建议:本题是 使用map 巧妙解决的问题,好好体会一下 哈希法 如何提高程序执行效率,降低时间复杂度,当然使用哈希法 会提高空间复杂度,但一般来说我们都是舍空间 换时间, 工业开 ...

  6. 超实用!Dify调用Java的3种实现方式!

    在一些复杂的业务中,我们可能需要使用 Dify 调用外部程序(如 Java 程序),因为这样才能满足业务的特殊需求. 例如,当我们使用 Dify 实现"AI 简历自动筛选器"的时候 ...

  7. [原创]《C#高级GDI+实战:从零开发一个流程图》第02章:画一个矩形,能拖动!

    一.前言 就像开发的教程都从"Hello World!"开篇一样,系列开始,我们也从一个最最简单的功能开始:画一个能拖动的矩形. 顺便说一下,另一篇教程:(原创)[C#] GDI+ ...

  8. NAT的两种模式SNAT和DNAT介绍

    一.简单介绍 NAT(Network Address Translation):网络地址转换,是将IP数据包头中的IP地址转换为另一个IP地址的过程.在实际的应用中,NAT主要用于实现私有网络访问公共 ...

  9. Visual Studio 2022 中的 EF Core 反向工程和模型可视化扩展插件

    前言 在 EF 6 及其之前的版本数据库优先模式(Database First)是可以在 Visual Studio 中通过可视化界面来操作完成的,但是到了 EF Core 之后就不再支持了(因为模型 ...

  10. 总结下参与以及看到的一些好的业务设计的 pattern

    B端C端进行分离: 单场景业务应用表:业务表进行分离 对于B端系统来说,如发钱系统,B端需要存储 订单id.是否发放成功.通知状态等信息,有可能还会有发放失败,审核驳回等无用数据记录,但是对于C端用户 ...