将 Webpack 从 v4 迁移到 v5 后,我的反应应用程序在 IE11 中不 运行
My react app not running in IE11 after migrated Webpack from v4 to v5
我按照 webpack 文档更改了我的应用程序的配置:https://webpack.js.org/migrate/5/。
此后,该应用程序在 chrome 和边缘上成功运行,但在 IE11 中无法运行。
我有一个 .browserslistrc 文件,里面有 IE11,也更改了 target: ['web', 'es5']
,然后将 import 'react-app-polyfill/ie11'; import 'react-app-polyfill/stable';
添加到 src/index.js,但问题仍然存在。
我使用以下 babel 配置:
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "entry",
"corejs": 3
}
],
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-transform-object-assign",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-transform-regenerator",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-runtime"
]
}
经过大量调查,我发现了这个:
https://github.com/feross/buffer/commit/840160f352ff0d8e88d4ac308a1640fd278f50fc
所以我的问题的解决方案是配置 babel-loader 来转译这个包:
{
test: /\.js$/,
include: [
path.join(__dirname, 'src'),
path.join(__dirname, 'node_modules/buffer'),
],
loader: 'babel-loader',
}
我按照 webpack 文档更改了我的应用程序的配置:https://webpack.js.org/migrate/5/。
此后,该应用程序在 chrome 和边缘上成功运行,但在 IE11 中无法运行。
我有一个 .browserslistrc 文件,里面有 IE11,也更改了 target: ['web', 'es5']
,然后将 import 'react-app-polyfill/ie11'; import 'react-app-polyfill/stable';
添加到 src/index.js,但问题仍然存在。
我使用以下 babel 配置:
"presets": [
[
"@babel/preset-env",
{
"useBuiltIns": "entry",
"corejs": 3
}
],
"@babel/preset-react"
],
"plugins": [
"@babel/plugin-transform-object-assign",
"@babel/plugin-proposal-object-rest-spread",
"@babel/plugin-transform-regenerator",
"@babel/plugin-proposal-class-properties",
"@babel/plugin-transform-runtime"
]
}
经过大量调查,我发现了这个:
https://github.com/feross/buffer/commit/840160f352ff0d8e88d4ac308a1640fd278f50fc
所以我的问题的解决方案是配置 babel-loader 来转译这个包:
{
test: /\.js$/,
include: [
path.join(__dirname, 'src'),
path.join(__dirname, 'node_modules/buffer'),
],
loader: 'babel-loader',
}