webpack查看各个阶段耗时示例:

一: 简单查看编译耗时

webpack5默认是开启profile的,

c 复制代码
webpack.config.js
module.exports = {
    entry: './src/index.js',
    output: {
        filename: 'main.js'
    },
}
c 复制代码
npm i core-js
c 复制代码
import 'core-js/stable'
src/index.js
const util = () => {
    return 'util'
}

let zhang = util()

zhang += 'zhang'
c 复制代码
打包输出信息
> demo01@1.0.0 build
> webpack

asset main.js 1010 KiB [emitted] (name: main)
runtime modules 1.13 KiB 5 modules
modules by path ./node_modules/core-js/modules/*.js 338 KiB
  ./node_modules/core-js/modules/es.symbol.js 322 bytes [built] [code generated]
  ./node_modules/core-js/modules/es.json.stringify.js 2.98 KiB [built] [code generated]
  ./node_modules/core-js/modules/es.symbol.description.js 2.54 KiB [built] [code generated]
  ./node_modules/core-js/modules/es.symbol.async-iterator.js 230 bytes [built] [code generated]
  + 295 modules
modules by path ./node_modules/core-js/internals/*.js 226 KiB
  ./node_modules/core-js/internals/path.js 85 bytes [built] [code generated]
  ./node_modules/core-js/internals/export.js 2.63 KiB [built] [code generated]
  ./node_modules/core-js/internals/global.js 649 bytes [built] [code generated]
  ./node_modules/core-js/internals/object-get-own-property-descriptor.js 1.11 KiB [built] [code generated]       
  + 256 modules
./src/demo0513/index.js 136 bytes [built] [code generated]
./node_modules/core-js/stable/index.js 11.6 KiB [built] [code generated]
webpack 5.91.0 compiled successfully in 1061 ms

可以看到编译耗时1061ms

二: 查看各个阶段耗时

c 复制代码
webpack.config.js
const SpeedMeasurePlugin = require("speed-measure-webpack-plugin");  
const smp = new SpeedMeasurePlugin();  

const config = {
    entry: './src/index.js',
    output: {
        filename: 'main.js'
    },
  mode: 'development',
}

// 使用插件包装你的配置  
module.exports = smp.wrap(config);
c 复制代码
npm i core-js
c 复制代码
src/index.js
import 'core-js/stable'

const util = () => {
    return 'util'
}

let zhang = util()

zhang += 'zhang'
c 复制代码
> demo01@1.0.0 build
> webpack

(node:24240) [DEP_WEBPACK_COMPILATION_NORMAL_MODULE_LOADER_HOOK] DeprecationWarning: Compilation.hooks.normalModuleLoader was moved to NormalModule.getCompilationHooks(compilation).loader
(Use `node --trace-deprecation ...` to show where the warning was created)


 SMP  ⏱
General output time took 1.038 secs

 SMP  ⏱  Loaders
modules with no loaders took 0.647 secs
  module count = 561



asset main.js 1010 KiB [compared for emit] (name: main)
runtime modules 1.13 KiB 5 modules
modules by path ./node_modules/core-js/modules/*.js 338 KiB
  ./node_modules/core-js/modules/es.symbol.js 322 bytes [built] [code generated]
  ./node_modules/core-js/modules/es.json.stringify.js 2.98 KiB [built] [code generated]
  ./node_modules/core-js/modules/es.symbol.description.js 2.54 KiB [built] [code generated]
  ./node_modules/core-js/modules/es.symbol.async-iterator.js 230 bytes [built] [code generated]
  + 295 modules
modules by path ./node_modules/core-js/internals/*.js 226 KiB
  ./node_modules/core-js/internals/path.js 85 bytes [built] [code generated]
  ./node_modules/core-js/internals/export.js 2.63 KiB [built] [code generated]
  ./node_modules/core-js/internals/global.js 649 bytes [built] [code generated]
  ./node_modules/core-js/internals/object-get-own-property-descriptor.js 1.11 KiB [built] [code generated]       
  + 256 modules
./src/demo0513/index.js 136 bytes [built] [code generated]
./node_modules/core-js/stable/index.js 11.6 KiB [built] [code generated]
webpack 5.91.0 compiled successfully in 1043 ms

从 SMP 的信息可以看到

构建耗时: 1.038s (和webpack打印的1043ms差不多)

有 561 个模块没有使用任何loader来处理,耗时0.647s

相关推荐
sorryhc2 分钟前
我让 AI 帮我写了一个 Code Agent!
前端·openai·ai编程
工边页字3 分钟前
面试官:请详细介绍下AI中的token,越详细越好!
前端·人工智能·后端
anyup3 分钟前
月销 8000+,uView Pro 让 uni-app 跨端开发提速 10 倍
前端·uni-app·开源
前端Hardy1 小时前
别再忽略 Promise 拒绝了!你的 Node.js 服务正在“静默自杀”
前端·javascript·面试
前端Hardy1 小时前
别再被setTimeout闭包坑了!90% 的人都写错过这个经典循环
前端·javascript·vue.js
小林coding1 小时前
专为程序员打造的简历模版来啦!覆盖前端、后端、测开、大模型等专业简历
前端·后端
前端Hardy1 小时前
你的 Vue 组件正在偷偷吃掉内存!5 个常见的内存泄漏陷阱与修复方案
前端·javascript·面试
RaidenLiu1 小时前
Flutter Platform Channel 底层架构解析 —— 从 BinaryMessenger 到跨平台消息通信机制
前端·flutter·前端框架
bluceli1 小时前
CSS容器查询:响应式设计的新范式
前端·css
Tapir1 小时前
被 Karpathy 下场推荐的 NanoClaw 是什么来头
前端·后端·github