Исключить значки bootstrap - vue с помощью Webpack IgnorePlugin - PullRequest
1 голос
/ 13 июля 2020

Анализатор пакетов Webpack показывает, что значки из пакета bootstrap - vue имеют размер 535 КБ.

Я не хочу использовать их в проекте, поэтому я пытался исключить пакет с веб-пакетом IgnorePlugin.

Согласно примеру в документации , я пытался написать это:

new webpack.IgnorePlugin({
        resourceRegExp: /^icons(.*)$/,
        contextRegExp: /^bootstrap-vue(.*)$/
    })

, но это не сработало. Единственное, что я смог воспроизвести, это полностью исключить bootstrap - vue lib с помощью этого ограничения new webpack.IgnorePlugin(/bootstrap-vue/)

Итак, как я могу исключить только значки?

1 Ответ

1 голос
/ 25 июля 2020

Вот способ игнорировать значки из bootstrap-vue:

new webpack.IgnorePlugin({
  resourceRegExp: /\/icons\//,
  contextRegExp: /bootstrap-vue/,
});

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

new webpack.IgnorePlugin({
   checkResource (resource, context) {
     if (context.includes('bootstrap-vue')) {
       console.log(resource, ':::', context)
       // check console to figure out how the resource is used
       // update the function until it's satisfies your case
       // then move to regexp is you wish
     }
     return false
   },
 })

Но после этого исследования выяснилось, что некоторые компоненты на самом деле используют некоторые значки, а значки в целом не такие большие, как я ожидал. Использование исходного кода bootstrap-vue оказало большее влияние на наш пакет. Поэтому решил придерживаться этого подхода.

...