Я транспилирую свое приложение и пытаюсь обеспечить его поддержку для IE. Однако polyfill оставляет оператор const в моем поставщике, который ломает IE.
Что-то не так с моей конфигурацией?
Веб-пакет:
{
mode: "production",
entry: {
app: ["whatwg-fetch", "@babel/polyfill", "./src/app/app.js"]
},
output: {
path: path.resolve(
__dirname,
"temp/" + envData.environment + "/app/js"
),
filename: "[name].bundle.js",
publicPath: "/"
},
optimization: {
splitChunks: {
cacheGroups: {
commons: {
test: /[\/]node_modules[\/]/,
name: "vendor",
chunks: "initial"
}
}
}
},
module: {
rules: [
{
test: /\.(js|jsx)$/,
loader: "happypack/loader",
options: { babelrc: true, cacheDirectory: "./cache" }
}
]
}
}
Бабельрк:
{
"presets": [
[
"@babel/preset-env",
{
"targets": {
"chrome": "55",
"ie": "8"
}
}
]
]
}
Обновлено: Извините, я забыл включить свою конфигурацию счастливого загрузчика, которая запускает мой код через babel-loader:
let plugins = [
new HardSourceWebpackPlugin(),
new webpack.IgnorePlugin(/^\./locale$/, /moment$/),
new HappyPack({
loaders: ["babel-loader"]
}),
new LiveReloadPlugin({
hostname: "localhost"
})
];
🤔 А знаете ли вы, что...
JavaScript позволяет создавать расширения для веб-браузеров, улучшая их функциональность.
Установите babel-loader
и попробуйте следующую конфигурацию:
module: {
rules: [
{
test: /\.m?js$/,
exclude: /(node_modules|bower_components)/,
use: {
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
}
}
]
}
Babel-polyfil представил это. Обновите до > 7.4.4 для исправления.
https://github.com/babel/babel/issues/9854