重大变化:webpack < 5 用于默认包含 node.js 核心模块的 polyfill

75 阅读1分钟

[重大变化:webpack < 5 用于默认包含 node.js 核心模块的 polyfill]

方案一

(segmentfault.com/q/101000004…)

这个修复对我有用(Vue 3):

安装插件 node-polyfill-webpack-plugin

npm install node-polyfill-webpack-plugin

在 vue.config.js 中,添加:

const { defineConfig } = require('@vue/cli-service')
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin")
module.exports = defineConfig({
  transpileDependencies: true,
  configureWebpack: {
    plugins: [
      new NodePolyfillPlugin()
    ]
  }

})

方案二

npm i  -D path-browserify console-browserify assert

package.json中

    "path-browserify": "^1.0.1",
    "console-browserify": "^1.2.0",
    "assert": "^2.1.0",

在vue.config.js中

module.exports = defineConfig({
  configureWebpack: {
    resolve: {
      fallback: {
        path: require.resolve('path-browserify'),
        console: require.resolve('console-browserify'),
        assert: require.resolve('assert/')
      }
    }
  },
})