Babel-загрузчик не играет хорошо с тряской дерева и webpackChunkName

Когда я создаю и у меня есть настройка правил для загрузчика babel, встряхивание дерева не работает (функции, которые я не импортирую напрямую, включены в выходной пакет), а webpackChunkName не работает (динамически импортируемые пакеты с указанием их идентификатора, а не имени, которое я им даю). Оба работают, когда я не использую загрузчик Babel (т.е. меняю test: /\.js$/ в test: /\.HHHHHHHjs$/).

У меня действительно настроен мой babel config, чтобы не переносить модули, так что webpack может справиться с этим. Я подозреваю, что, возможно, проблема в том, что загрузчик babel удаляет некоторые комментарии, необходимые для веб-пакета, но у меня нет комментариев: false в моей конфигурации babel, и по умолчанию установлено значение true, поэтому я не уверен, как это сделать оставьте комментарии в покое (если это проблема). Я попытался явно установить комментарии: true в моей конфигурации Babel, но это не решает проблему.

--- webpack.config.js

const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  entry: {
    index: './src/index.js'
  },
  plugins: [
    new HtmlWebpackPlugin({
      title: 'silly silly sassy and fresh'
    }),
  ],
  output: {
    filename: '[name].[chunkhash].js',
    chunkFilename: '[name].[chunkhash].js',
    path: path.resolve(__dirname, 'dist'),
  },
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /(node_modules|bower_components)/,
        use: {
          loader: 'babel-loader',
          options: {
            presets: ['@babel/preset-env'],
          }
        },
      },
      {
        test: /\.scss$/,
        use: [{
            loader: 'style-loader' // creates style nodes from JS strings
        }, {
            loader: 'css-loader' // translates CSS into CommonJS
        }, {
            loader: 'sass-loader' // compiles Sass to CSS
        }],
      },
    ]
  }  
}

--- конфиг babel из package.json

{
  "babel": {
    "presets": [
      [
        "env",
        {
          "modules": false
        }
      ]
    ],
    "plugins": [
      "transform-class-properties",
      "dynamic-import-webpack"
    ]
  }
}

0 ответов

Другие вопросы по тегам