Webpack详解

Webpack是一个用于JavaScript应用程序的静态模块打包工具,它解决了前端资源的兼容性和优化问题。通过entry和output配置入口和出口,模块系统处理文件,Compiler编译器协调工作,loader负责文件转换,如CSS、图片等,而plugins则扩展webpack功能,如代码优化和压缩。整个流程包括配置参数初始化、编译、模块解析和输出。
摘要由CSDN通过智能技术生成

作用

webpack是node的第三方模块包,用于代码打包

  • 前端工程化的解决方案

  • 解决js和css兼容性问题

  • 压缩合并html/js/css代码

使用

entry入口

webpack开始打包的文件,入口文件

output出口

webpack打包后输出的文件夹、文件名

module模块

一个模块对应一个文件,从入口文件开始查找

Compiler编译器

webpack启动后创建的编译器对象

chunk代码块

由多个模块组成,用于代码的分隔和合并

loader加载器

  • 进行文件处理、转换(编译或压缩代码),是模块的解析规则
  • 每个loader都只完成一个职责,只需要完成一种转换
  • 在模块加载时预处理文件,运行在文件打包前
  • 常见loader:less-loader, css-loader, url-loader

plugins插件

  • 扩展webpack的功能,如优化打包、压缩代码、重新定义环境变量…
  • 可以在webpack生命周期节点上添加监听等功能
  • 整个编译周期都运行
  • 常见plugin:CleanWebpackPlugin

流程

  1. 初始化配置参数

    合并shellwebpack.config.js中的配置参数

  2. 开始编译

    初始化Compiler对象,注册插件,执行Compilerrun方法开始编译

  3. 确定入口

    找出入口文件

  4. 编译模块

    从入口文件出发,调用loader编译,递归该模块的依赖模块进行编译

  5. 完成编译并输出

    将编译完的文件结果根据entry配置生成chunk

  6. 输出完成

    输出chunk到文件系统


[万字总结] 一文吃透 Webpack 核心原理

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值