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模块中可能有太多内容
。您可以使用查看捆绑包内容。