一、学习webpack的原因
通过学习webpack,可以理解前端"工程化"的概念、工具和目标,并且绝大部分工程环境都是通过webpack构建的,因此学习webpack能够更好地解决实际开发中遇到的问题,提升个人的核心竞争力,同时webpack也是高阶前端的必经之路。
二、webpack的概念
前端项目通常是由很多种资源构成的,涉及到PNG、JPG、JS、css等多种类型。曾经资源是手动管理的,但是依赖手工会出现诸多问题,例如操作过程繁琐,比较难接入Less、Sass等工具,JS、图片、CSS资源管理不一致等,手动维护成本高,对开发效率影响非常大。
webpack本质上是一种前端资源的编译和打包工具,存在诸多优势和便利,它可以将多种资源文件打包成一个Bundle,支持Babel、Eslint、TS、CoffeScript、Less、Sass,模块化处理资源文件,可以持续监听、持续构建,能够做到代码分离,支持Tree- shaking和Sourcemap。
三、如何使用webpack
总体来说分为安装依赖,编辑配置文件,执行编译命令。
核心工作流程是入口处理,即开始编译;依赖解析,从entry文件开始,找到依赖资源;资源解析,即根据module配置,调用资源转移器,将png、css等非标准JS资源转译为JS内容;需要递归调用依赖解析和资源解析,直到所有资源处理完毕;资源合并打包,即将转译后的内容合并打包为可直接在浏览器运行的JS文件。
webpack工作本质体现模块化和一致性。支持多个文件资源合并,减少http请求数,支持模块化开发,支持高级JS特性、Typescript、coffescript方言,统一图片、css、字体等其他资源的处理模型。
通过本节课的学习,我对webpack有了初步了解,同时也认识到了学习webpack的重要性。