With Vue 3, how do I add path-browserify to vue.config.js?
module.exports = {
chainWebpack: config => {}
}
The following error occurred during compilation:
BREAKING CHANGE: webpack < 5 used to include polyfills for node.js core modules by default.
This is no longer the case. Verify if you need this module and configure a polyfill for it.
If you want to include a polyfill, you need to:
- add a fallback 'resolve.fallback: { "path": require.resolve("path-browserify") }'
- install 'path-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
resolve.fallback: { "path": false }
Webpack 5 removes some content included in the Webpack 4 bundle.
To get it all back into your vue3 application you can use the polyfill plugin. From plain create-vue-app with babel:
babel.config.js
module.exports = { presets: [ '@vue/cli-plugin-babel/preset' ] }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()], optimization: { splitChunks: { chunks: "all", }, }, }, });With help from @Zack, using chainWebpack:
const NodePolyfillPlugin = require('node-polyfill-webpack-plugin') module.exports = { chainWebpack: config => { config.plugin('polyfills').use(NodePolyfillPlugin) }, }