学习课程名称:Vite零基础快速入门
章节名称:Vite 概念和设计思想
讲师姓名:Tomas
课程内容:
- vite概念介绍
- ESM加载对比
- vite和CRA对比
Vite 所倡导的no-bundle理念的真正含义是利用浏览器原生 ES 模块的支持,实现开发阶段的 Dev Server,进行模块代码的按需加载。浏览器请求对应的 url 的时候,提供对应的文件,一个 import 语句代表一个 HTTP 请求。
vite 采用立即编译当前修改文件的办法。同时 vite 还会使用缓存机制( http 缓存 => vite 内置缓存 ),加载更新后的文件内容
所以,vite 具有了快速冷启动、按需编译、模块热更新等优良特质
这里说的模块代码其实分为两部分:
一部分是源代码,即业务代码,
另一部分是第三方依赖的代码,即node_modules中的代码。
所谓的no-bundle只是对于源代码而言,对于第三方依赖而言,Vite 会进行依赖的预构建。
ES6之前,JS一直没有自己的模块体系,这一点对于大型项目的开发很不友好,所以社区出现了CommonJS和AMD(本人不熟悉),CommonJS主要是用于服务器(Node),AMD主要是用于浏览器。
但是ES6引入了ESM,到此,JS终于有了自己的模块体系,基本上可以完全取代CJS和AMD。