Skip to content

工程化

什么是打包

在浏览器支持 ES 模块之前,JavaScript 并没有提供原生机制让开发者以模块化的方式进行开发。这也正是我们对 “打包” 这个概念熟悉的原因:使用工具抓取、处理并将我们的源码模块串联成可以在浏览器中运行的文件。

为什么要使用模块化

方便

为什么要打包

使用模块化规范,会有一个问题:模块可能加载过多,浏览器需要不停的发网络请求,请求js。而打包后的文件会变少,这样就减少了网络请求。

将使用模块化(common.js, esm, amd, cmd ...)、es6语法的项目,从入口文件开始,打包压缩成es6之前语法。同时,诸如webpack的构建工具还可以打包css、图片等资源。除此之外,还可以进行代码的tree shaking,以及其他优化。

学习思路:

工程化相关的工具,处了打包工具,还有规范lint工具,想把所有配置都非常熟悉,那是事倍功半的。
可以熟悉下大概的思路和常用的配置,用到的时候再去查文档。
比如熟悉下lint工具配置的思路:eslint, stylelint, prettier -> lint-stage -> commitlint, czg;