Webpack: что такое модули без загрузчиков? Как их оптимизировать? - PullRequest
0 голосов
/ 30 апреля 2020

Я использую speed-measure-webpack-plugin для измерения производительности моих сборок Webpack, и для меня что-то загадочное: при холодной загрузке моей сборки dev я вижу, что modules with no loaders является безусловно самым распространенным типом модуля, и также тип модуля, который занимает больше всего времени для обработки:

 SMP  ⏱  Loaders
modules with no loaders took 48.51 secs
  module count = 2963
typings-for-css-modules-loader, and
postcss-loader, and
less-loader took 41.81 secs
  module count = 95
ts-loader took 39.55 secs
  module count = 488
babel-loader took 4.12 secs
  module count = 4
css-loader, and
postcss-loader took 3.91 secs
  module count = 1
url-loader took 1.13 secs
  module count = 10
pegjs-loader took 0.723 secs
  module count = 2
style-loader, and
typings-for-css-modules-loader, and
postcss-loader, and
less-loader took 0.157 secs
  module count = 95
html-webpack-plugin took 0.045 secs
  module count = 1
style-loader, and
css-loader, and
postcss-loader took 0.002 secs
  module count = 1

Мои вопросы: что такое модули без загрузчиков? Есть ли способ перечислить все эти модули без загрузчиков, чтобы я мог видеть, откуда они берутся и что с ними можно сделать?

Я подозреваю, что они происходят из node_modules зависимостей, но я ' я не уверен, что с этим делать ....

1 Ответ

0 голосов
/ 30 апреля 2020

Хорошо, после удаления опции include в этом правиле конфигурации веб-пакета:

      {
        test: /\.jsx?$/,
        // include: path.resolve(__dirname, 'src'),
        use: ['babel-loader'],
      },

У меня не было модулей без загрузчиков, поэтому я предполагаю, что все они были ванильными JS файлы из node_modules.

Однако, к моему разочарованию, это на самом деле замедлило мою сборку:

 SMP  ⏱  Loaders
babel-loader took 1 min, 0.222 secs
  module count = 2946
typings-for-css-modules-loader, and
postcss-loader, and
less-loader took 41.55 secs
  module count = 95
ts-loader took 35.4 secs
  module count = 488
css-loader, and
postcss-loader took 26.68 secs
  module count = 12
modules with no loaders took 5.18 secs
  module count = 10
url-loader took 1.69 secs
  module count = 25
pegjs-loader took 0.597 secs
  module count = 2
style-loader, and
typings-for-css-modules-loader, and
postcss-loader, and
less-loader took 0.104 secs
  module count = 95
html-webpack-plugin took 0.025 secs
  module count = 1
style-loader, and
css-loader, and
postcss-loader took 0.009 secs
  module count = 12

Я не верю, что есть способ на самом деле оптимизировать это ...

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