升级webpack5后chainWebpack链式调用插件,插件回调参数为undefined

最近将项目升级到了vue-cli5和webpack5,发现之前有些loader和插件的链式调用后回调参数args为undefined,如url-loader和html-webpack-plugin,tap函数的回调参数options和args为undefined或者null。

升级webpack5后chainWebpack链式调用插件,插件回调参数为undefined_第1张图片

看了wb5文档后发现是新版本去除了node核心polyfill库(4之前自带),需要进行手动引入,如下配置(仅列举了三个,其它请自己配置):

configureWebpack: {
	plugins: [],
	...
	// 关键代码
	resolve: {
		fallback: {
			path: require.resolve('path-browserify'),
            url: require.resolve('url-loader'),
            html: require.resolve('html-webpack-plugin'),
		}
	}
}

tips: 关于html-webpack-plugin,如果是用的vue-cli,不能用官方github或者网上别的原生webpack的配置方法:手动引入html-webpack-plugin,再use(htmlWebpackPlugin),如下图。这样会多出来一个新的页面配置,因为vue-cli本来就自带了一个配置。

升级webpack5后chainWebpack链式调用插件,插件回调参数为undefined_第2张图片

你可能感兴趣的:(漫漫踩坑路,webpack,vue.js,javascript)