speed-measure-webpack-plugin
插件测量你的 webpack 构建期间各个阶段花费的时间
搜索所有的依赖项
webpack根据我们配置的loader 解析相应的文件,由于 js 单线程的特性使得这些转换操作不能并发处理文件,而是需要一个个文件进行处理
将所有解析完成的代码,打包到一个文件中,为了使浏览器加载的包更小(减小白屏时间),所以webpack 会对代码进行优化。JS 压缩是发布编译的最后阶段,通常 webpack 需要卡好一会,这是因为压缩 JS 需要先将代码解析成 AST 语法树,然后需要根据复杂的规则去分析和处理 AST,最后将 AST 还原成 JS,这个过程涉及到大量计算,因此比较耗时,打包就容易卡住。
当更改项目中一个小小的文件时,我们需要重新打包
把 thread-loader 放置在其他 loader 之前, 那 thread-loader 之后的 loader 就会在一个单独的 worker 池(worker pool)中运行。
一个worker 就是一个nodeJS 进程。
仅在耗时的 loader 上使用。
使用 webpack 缓存的方法有几种,例如使用 cache-loader,HardSourceWebpackPlugin 或 babel-loader 的 cacheDirectory 标志。 所有这些缓存方法都有启动的开销。 重新运行期间在本地节省的时间很大,但是初始(冷)运行实际上会更慢。
如果你的项目生产版本每次都必须进行初始构建的话,缓存会增加构建时间