相关推荐recommended
webpack < 5 used to include polyfills for node.js core modules by default
作者:mmseoamin日期:2023-12-25
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: { "os": require.resolve("os-browserify/browser") }'
	- install 'os-browserify'
If you don't want to include a polyfill, you can use an empty module like this:
	resolve.fallback: { "os": false }
yarn add ode-polyfill-webpack-plugin

craco.config.js如下

//对webpack配置别名
//对webpack配置别名
const path = require('path')
const NodePolyfillPlugin = require("node-polyfill-webpack-plugin");
module.exports = {
    // webpack 配置
    webpack: {
        // 配置别名
        alias: {
            // 约定:使用 @ 表示 src 文件所在路径
            '@': path.resolve(__dirname, './src'),
        },
        configure: (webpackConfig) => {
          if (webpackConfig.plugins) webpackConfig.plugins.push(new NodePolyfillPlugin({
            excludeAliases: ['console']
          }))
          else webpackConfig.plugins = [new NodePolyfillPlugin({
            excludeAliases: ['console']
          })]
          return webpackConfig
        }
    }
}