Бабель не компилирует продавцов Чака - PullRequest
0 голосов
/ 27 августа 2018

Я перешел на Webpack 4 и настроил все в соответствии с Документами, однако мой блок vendors.js не компилируется, как блок main.js.

Я поместил vendors в optimization.splitChunks.cacheGroups объект, как и предполагали документы, но не нашел способа заставить эти "cacheGroups" скомпилироваться с babel.

Моя проблема в том, что в одной из библиотек есть ES6 class, и теперь IE11 не работает из-за этого факта.

Мой веб-пакет optimization объект выглядит так:

  optimization: {
    splitChunks: {
      cacheGroups: {
        styles: {
          name: 'styles',
          test: /\.css$/,
          chunks: 'all',
          enforce: true
        },
        vendor: {
          name: 'vendor',
          test: /[\\/]node_modules[\\/]/,
          chunks: 'all',
          enforce: true
        }
      }
    }
  }

Есть ли способ заставить webpack также компилировать поставщиков с помощью babel?

Привет

1 Ответ

0 голосов
/ 28 августа 2018

Вы должны были опубликовать всю конфигурацию webpack, чтобы дать людям больше контекста.

В любом случае, шаг optimization имеет очень мало общего с фактической передачей.Ваш блок vendor настроен на включение только содержимого из node_modules, которое почти никогда не обрабатывается (если вы специально не скажете babel-loader включить определенный пакет).

Поскольку я не знаю, как вы настроили babel-loader, я бы предложил что-то вроде этого:

{
    test: /\.js$/,
    exclude: (file) => {
        return /node_modules/.test(file) && !file.includes("/node_modules/my-es6-module/");
    }
}

Идея состоит в том, чтобы исключить все файлы, содержащие node_modules, кроме пути к файлусодержит название вашего конкретного модуля, который вам необходимо обработать с помощью babel.

Как правило, публикация кода ES6 для npm является очень плохой практикой, и ее следует избегать любой ценой.

Если этого недостаточно, обновите свой вопрос с помощью конфигурации веб-пакета, чтобы дать нам более подробное представление о вашей настройке.

...