Как убедиться, что node_modules не включены в комплект - PullRequest
1 голос
/ 03 февраля 2020

Я использую webpack-bundle-analyzer для определения пакетов, которые, возможно, необходимо оптимизировать. Моя конфигурация веб-пакета исключает node_modules

webpack.config

  config.module = {
    rules: [
    {
      test: /\.(js|jsx)$/,
      exclude: [
        /node_modules/,
        /firebase-functions/,
        /tests/
      ],
      use: {
        loader: 'babel-loader'
      }
    },
    ...
   }]
 }

Когда я смотрю на представление своего пакета, я все еще вижу, node_modules что значит node_modules включено в мой комплект?

Сначала я запускаю yarn run build:stats, чтобы сгенерировать compilation-stats.json, а затем yarn run analyse

пакет. json

  "scripts": {
    "build:prod": "cross-env NODE_ENV=production webpack -p --env production",
    "dev-server": "cross-env NODE_ENV=development ANALYSE_BUNDLE=no webpack-dev-server --host 127.0.0.1 --port 8080",
    "dev-server-analyse": "cross-env NODE_ENV=development ANALYSE_BUNDLE=yes webpack-dev-server --host 127.0.0.1 --port 8080",
    "build:stats": "cross-env NODE_ENV=production webpack --profile --json --env=production > compilation-stats.json",
    "analyse": "webpack-bundle-analyzer compilation-stats.json dist",

Я также пытался указать не включать node_modules

webpack.config

new BundleAnalyzerPlugin({
  excludeAssets: ['node_modules'],
  statsOptions: {
    exclude: /node_modules/
  }
})

Результат от webpack-bundle-analyzer enter image description here Итак, node_modules включено в мой комплект или я просто что-то не так делаю?

С уважением / K

1 Ответ

1 голос
/ 03 февраля 2020

Да, это так. Правила WebPack просто описывают цепочку загрузчиков, которая будет использоваться. Чистый код JS включен любым способом. Существует ряд причин, по которым вы можете исключить код поставщика из вашего пакета, например:

  • оптимизация времени восстановления
  • лучшее кэширование
  • et c

WebPack, предоставляющий различные способы сделать это:

В WebPack по умолчанию установлен оптимизатор чанков . В большинстве случаев этого достаточно для хороших результатов. Вам следует выполнять некоторые другие ручные оптимизации только в том случае, если вы столкнулись с какой-то реальной проблемой и поняли, что вы хотите набить.

...