Webpack/Babel не удаляет const

Я транспилирую свое приложение и пытаюсь обеспечить его поддержку для 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"
    })
];

person Batman    schedule 20.05.2019    source источник
comment
Попробуйте использовать загрузчик: «babel-loader». Может быть, это помогло бы вам.   -  person Arun Redhu    schedule 20.05.2019


Ответы (2)


Установите babel-loader и попробуйте следующую конфигурацию:

module: {
  rules: [
    {
      test: /\.m?js$/,
      exclude: /(node_modules|bower_components)/,
      use: {
        loader: 'babel-loader',
        options: {
          presets: ['@babel/preset-env']
        }
      }
    }
  ]
}
person Arun Redhu    schedule 20.05.2019
comment
Загрузчик Babel, похоже, не решает эту проблему - person Batman; 21.05.2019

Babel-polyfil представил это. Обновите до > 7.4.4 для исправления.

https://github.com/babel/babel/issues/9854

person Batman    schedule 09.06.2019