Webpack 网页包:没有加载程序的模块是什么?如何优化它们?

Webpack 网页包:没有加载程序的模块是什么?如何优化它们?,webpack,Webpack,我正在使用speed measure webpack plugin来衡量我的webpack构建的性能,有些事情对我来说很神秘:当冷启动我的dev构建时,我发现没有加载程序的模块是迄今为止最常见的模块类型,也是处理时间最长的模块类型: SMP ⏱ Loaders modules with no loaders took 48.51 secs module count = 2963 typings-for-css-modules-loader, and postcss-loader, an

我正在使用
speed measure webpack plugin
来衡量我的webpack构建的性能,有些事情对我来说很神秘:当冷启动我的dev构建时,我发现没有加载程序的
模块是迄今为止最常见的模块类型,也是处理时间最长的模块类型:

 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\u模块
依赖项,但我不确定该怎么办….

好的,在删除网页包配置规则中的
include
选项后:

      {
        test: /\.jsx?$/,
        // include: path.resolve(__dirname, 'src'),
        use: ['babel-loader'],
      },
我可以没有没有加载程序的模块,所以我假设它们都是
node\u modules
中的普通JS文件

然而,令我失望的是,这实际上减慢了我的构建速度:

 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

我不相信有什么方法可以真正优化这个…

你的直觉几乎肯定是正确的-文件是
node\u模块
js文件。当您删除
include
时,您告诉babel loader它需要对这些文件进行操作。这需要时间,但没有必要,因为node_模块中的.js文件应该准备好直接导入<代码>没有加载程序的模块
本身并不是一件坏事。它只是意味着webpack可以直接读取文件,而无需处理。您的
节点\u模块中可能有太多内容
。您可以使用查看捆绑包内容。