Можно ли минимизировать все пакеты кроме одного? - PullRequest
0 голосов
/ 04 февраля 2019

Моя оптимизация веб-пакета настроена следующим образом:

optimization: {
    runtimeChunk: 'single',
    minimize: false,
    splitChunks: {
        chunks: 'all',
        maxInitialRequests: Infinity,
        minSize: 0,
        cacheGroups: {
            config: {
                test: /[\\/]app[\\/]js[\\/]config[\\/]/,
                minSize: 0
            },
            vendors: {
                test: /[\\/]node_modules[\\/]/,
                name(module) {
                    // get the name. E.g. node_modules/packageName/not/this/part.js
                    // or node_modules/packageName
                    const packageName = module.context.match(/[\\/]node_modules[\\/](.*?)([\\/]|$)/)[1];

                    // npm package names are URL-safe, but some servers don't like @ symbols
                    return `npm.${packageName.replace('@', '')}`;
                },
            }
        },
    },
},

Это прекрасно работает и генерирует все необходимые мне пакеты.НО, я не хочу, чтобы пакет конфигурации был уменьшен.Все остальные связки должны быть минимизированы.До сих пор я нашел только глобальный параметр, минимизировать: true / false.Есть ли другой, более детальный способ настройки этого?

1 Ответ

0 голосов
/ 04 февраля 2019

Ознакомьтесь с документацией по настройке optim.minimizer и опции chunkFilter .Вы должны установить имя для config чанка.И добавьте что-то подобное в ваши optimization настройки:

minimizer: [
  new TerserPlugin({
    chunkFilter: (chunk) => {
      if (chunk.name === 'CONFIG CHUNK NAME') {
        return false;
      }

      return true;
    },
  }),
],

Обратите внимание, что вам нужен плагин: const TerserPlugin = require('terser-webpack-plugin');.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...