摘录&心得
- webpack编译速度较慢,即便启动增量构建,也无法解决初始化构建时长问题
- Parcel内置了多核并行构建
- Parcel内置了文件系统缓存,webpack v5也跟进了该特性
1 Code Splitting
- 代码分割
- 能够导出公共模块,避免重复打包
- 页面加载运行时,实现最合理的按需加载策略
- 直接决定了前端资源的静态产出
是一个很大的话题
对打包资源进行版本映射
- 打包后的静态文件后会跟着一段哈希字符串。
- 技术重点:最大化利用缓存机制
- 构建工具进行打包的前提是:分析各个模块的依赖关系,支持开发者自定义哈希策略
Webpack的hash/chunkhash/contenthash策略
要兼容不同类型的 modules importing 方案: ESM、CommonJS
-
4 Non-JavaScript Resources
-
5 Output Module Formats
与Importing Modules相对应
-
6 Transformations
转义
- 在设计构建工具时,对于类似 JSX 的编译、.vue 文件的编译,不会内置到构建工具当中,而是利用 Babel 等社区能力,“无缝融合”到构建流程里。