Vite 知识体系|青训营笔记

83 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 27 天

1.Glob 导入注意事项

  1. Glob 匹配是使用 fast-glob 来实现的 —— 阅读它的文档来查阅 支持的 Glob 模式。
  2. 这只是一个 Vite 独有的功能而不是一个 Web 或 ES 标准。
  3. 该 Glob 模式会被当成导入标识符:必须是相对路径(以 ./ 开头)或绝对路径(以 / 开头,相对于项目根目录解析)或一个别名路径。

2.Web Workers

  1. 通过构造器导入:一个 Web Worker 可以使用 new Worker() 和 new SharedWorker() 导入。与 worker 后缀相比,这种语法更接近于标准,是创建 worker 的 推荐 方式。
  2. 带有查询后缀的导入:可以在导入请求上添加 ?worker 或 ?sharedworker 查询参数来直接导入一个 web worker 脚本。默认导出会是一个自定义 worker 的构造函数。

3.对于 Vite 专属的插件

  1. Vite 插件应该有一个带 vite-plugin- 前缀、语义清晰的名称。
  2. 在 package.json 中包含 vite-plugin 关键字。
  3. 如果插件只适用于特定的框架,它的名字应该遵循以下前缀格式:
  • vite-plugin-vue- 前缀作为 Vue 插件
  • vite-plugin-react- 前缀作为 React 插件
  • vite-plugin-svelte- 前缀作为 Svelte 插件

4.Babel 插件

Babel 是 JavaScript 编译器,更确切地说是源码到源码的编译器,通常也叫做“转换编译器(transpiler)”。 意思是说为 Babel 提供一些 JavaScript 代码,Babel 更改这些代码,然后返回给新生成的代码。

5.Babel 的处理步骤

  1. 解析:接收代码并输出 AST。 这个步骤分为两个阶段:词法分析(Lexical Analysis) 和 语法分析(Syntactic Analysis)。
  2. 转换:接收 AST 并对其进行遍历,在此过程中对节点进行添加、更新及移除等操作。 这是 Babel 或是其他编译器中最复杂的过程,同时也是插件将要介入工作的部分。
  3. 生成:把最终(经过一系列转换之后)的 AST 转换成字符串形式的代码,同时还会创建源码映射(source maps)。