- Webpack 是一种前端模块化打包工具。
- 模块化是一种将系统分离成独立功能部分的方法,严格定义模块接口、模块间具有透明性。
独立功能:假设有 a.js b.js c.js 三个文件,a b c 三个文件的功能都是比较单一且独立需要相互配合的
模块接口:a b c 三个文件各自暴露出一个借口,三个文件通过这个接口相互调用
透明性:三个模块之前相互传递什么参数都是透明的
- 模块化历史
- 无模块时代
- 模块萌芽时代
- 现代模块
参考链接:https://www.zhihu.com/question/20351507 知乎 -> AMD 和 CMD 的区别有哪些?
- 为什么要用模块化呢?
“高内聚,低耦合” -> 《软件工程》
- 为什么要用 Webpack?
与当前较主流的模块有较高的契合度
Webpack 编译后的文件能够生成对应的 setmap,例如:有一个 a.js 和 b.js 编译后成为 c.js 这时系统可以告诉你这个编译后的 c.js 到哪里去了,然后再动态地帮助我们 找到 这个文件的地址,还可以用 c.js 文件去替换掉 a.js 或者 b.js
- 官网上阐述的优点
- 安装方法
先在项目中建 配置文件
然后再在项目中装包
- 简单的工作原理
首先编辑了 cats.js 文件,在 app.js 文件中引用,webpack 会自动解析这个 require 过来的文件,并将其压缩打包
项目结构
- 对于 webpack 来讲,主要有以下五大非常重要的东西
- 所有的入口资源会按照入口资源来分析所有的 require ,然后把这些 require 按照你的形式最终再生成到对应的地方去
- 就是你这个东西想把我的东西编译到哪里去
- 所有的资源管理