首先來個忠告,先升級webpack,再逐步把各個包升級(因爲我們所有依賴升級最新版本,不過可能會帶來個問題,包不穩定只能等作者更新,算激進派)
去掉 new webpack.NamedModulesPlugin(), webpack5已內置;
因爲webpack5更專注於瀏覽器,將node部分移除
fallback: { dgram: false, fs: false, net: false, tls: false, child_process: false, stream: require.resolve('stream-browserify'), tty: require.resolve('tty-browserify'), crypto: require.resolve('crypto-browserify'), },
alias: { // Support React Native Web // https://www.smashingmagazine.com/2016/08/a-glimpse-into-the-future-with-react-native-for-web/ 'react-native': 'react-native-web', // crypto: false, process: 'process/browser', },
plugins下增加:
new webpack.ProvidePlugin({ process: 'process/browser', }),
postcss-loader配置更改
// 舊的配置: { loader: require.resolve('postcss-loader'), options: { ident: 'postcss', plugins: () => [ require('postcss-flexbugs-fixes'), autoprefixer({ flexbox: 'no-2009', }), ], }, }, // 新的配置: { loader: require.resolve('postcss-loader'), options: { postcssOptions: { plugins: [ require('postcss-flexbugs-fixes'), autoprefixer({ flexbox: 'no-2009', }), ], }, }, },
如果有用到webpack-cli 請升級到最新可用的版本。
提示loaders不存在,改爲分別require
參數形式已廢除,改爲
改爲:
提示