webpack理解
1. 背景、开发遇到的问题
2. 什么是Webpack
3. 特性
答:
1. Webpack 最初的目标是实现前端项目的模块化,旨在更高效地管理和维护项目中的每一个资源
除了模块加载的问题以外,还需要规定模块化的规范,如今流行的则是CommonJS、ES Modules
我们开发过程中会遇到如下的问题:
而webpack恰巧可以解决以上问题
2. webpack 是一个用于现代JavaScript应用程序的静态模块打包工具
这里的静态模块指的是开发阶段,可以被 webpack 直接引用的资源(可以直接被获取打包进bundle.js的资源)
当 webpack处理应用程序时,它会在内部构建一个依赖图,此依赖图对应映射到项目所需的每个模块(不再局限js文件),并生成一个或多个 bundle
3.
补充
补充:webpack 核心关键词速记:
- 入口(entry):构建依赖图的起点,默认
./src/index.js。- 输出(output):
filename、path、publicPath决定产物落盘位置与 URL 前缀。- loader:把非 JS 资源(CSS、图片、TS、Vue)转换为 JS 模块的"翻译官"。
- plugin:基于 Tapable 事件流机制干预构建生命周期(HTML 生成、CSS 抽取、环境变量注入、产物分析等)。
- mode:
development(默认开启 eval-source-map)/production(默认开启压缩、tree-shaking、scope hoisting)。- chunk:最终产物的基本单位;通过
splitChunks把第三方依赖、共享代码、业务代码拆开。
来源整理自:我的有道云笔记



