Webpack4: две библиотеки поставщиков на основе точек входа - PullRequest
0 голосов
/ 07 февраля 2019

Итак, я охотился и не могу ничего найти, если мои навыки поиска не стали хуже в последнее время.Но мне нужно сгенерировать два комплекта поставщиков на основе точки входа.

Например, у меня есть 3 точки входа:

  • Editor
  • Public
  • Auth

Когда пользователь вошел в систему, он будет включать в себя вариации пакетов auth, public и editor.Когда пользователь выходит из системы, он загружает только общий пакет.Обе эти ситуации будут загружать комплект поставщика, но когда мы выйдем из системы, мне не нужно загружать модули, необходимые для редактора и аутентификации, поэтому я надеялся, что есть способ разделить это на vendor и vendor.auth.или что-то похожее.

Единственный код, который у меня есть на данный момент для оптимизации, следующий:

optimization: {
    concatenateModules: true,
    splitChunks       : {
        cacheGroups: {
            commons: {
                test     : /[\\/]node_modules[\\/]/,
                name     : 'vendors',
                minChunks: 2,
                chunks   : 'all'
            }
        }
    }
},

Любая помощь здесь будет высоко ценится!

Спасибо

1 Ответ

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

Вы можете разделить порции на 2 общие группы, используя функцию как chunks свойство .

optimization: {
  splitChunks: {
    cacheGroups: {
      commons: {
        test: /[\\/]node_modules[\\/]/,
        name: 'vendors',
        chunks: function (chunk) {
          return chunk.name == 'public';
        }
      },
      auth_commons: {
        test: /[\\/]node_modules[\\/]/,
        name: 'vendors.auth',
        chunks: function (chunk) {
          return ['auth', 'editor'].includes(chunk.name);
        }
      }
    }
  }
},
...