前言:项目昨天还好好的运行,今天打开一堆报错,还不是npm install XXX能解决的(小声骂骂咧咧)
报错:
查了很多资料发现是因为webpack版本引起的,在webpack5中移除了nodejs核心模块的polyfill自动引入,具体可查看这篇文章
https://wenku.baidu.com/view/7b8427ebd938376baf1ffc4ffe4733687f21fc5d.html
下面说说解决方法
有缺就有补,没有自动引用就手动引用,先npm install node-polyfill-webpack-plugin
然后我就发现我没有webpack.config.js文件了,因为vue脚手架3把这个文件封装到内部了,
但是可以在vue.config.js内调整webpack配置
和我情况差不多的可以在 module.exports内 和 devServer同级加入
configureWebpack: {
plugins: [new NodePolyfillPlugin()],
},
缺少qs,在plugins同级加入
externals: {
fs: require('fs')
}
放一下我的vue.config.js文件,可以参考一下
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
module.exports = {
lintOnSave: false,
//调整内部的 webpack 配置
configureWebpack: {
plugins: [new NodePolyfillPlugin()],
externals: {
fs: require('fs')
}
},
devServer: {
open: true, //自动打开浏览器
// 每次修改配置文件都需要重新启动
proxy: {
"/baseApi": {
target: "http://192---------",
ws: false,
changeorigin: true,
pathRewrite: {
"^/baseApi": "",
},
},
"/wsApi": {
target: "ws://192---------/websocket",
ws: true,
changeorigin: true,
pathRewrite: {
"^/wsApi": "",
},
},
},
},
};