3 个版本 (破坏性更新)
| 0.2.0 | 2024年7月7日 |
|---|---|
| 0.1.0 | 2023年11月27日 |
| 0.0.1 | 2023年8月7日 |
#568 in 编程语言
每月下载量326次
在 4 个 crate 中使用 (3 个直接使用)
375KB
8K SLoC
fervid_transform
是 fervid 项目的一部分,一个全能的Vue编译器。这个crate负责模板中的转换,例如优化AST或转换AST节点中的JS/TS表达式。
未来这个crate可能还会容纳 <style> 转换,这些目前在其自己的crate中。
脚本
一套用于处理Vue的 <script> 和 <script setup> 的Rust API。
路线图
-
<script>支持- 顶级声明和导入;
-
data绑定; -
props; -
computed; -
setup; -
inject; -
emits; -
components; -
methods; -
expose; -
name; -
directives;
-
<script setup>支持- 顶级声明和导入;
- 绑定类型(使用位标志代替枚举);
- 编译器宏
-
defineProps(...); -
defineProps<...>(); -
defineEmits(...); -
defineEmits<...>(); -
defineExpose; -
defineOptions; -
defineSlots;
-
-
TypeScript 支持
-
enum绑定; - 仅类型props/emit声明;
- DEV模式 导入使用检查;
-
-
其他功能
-
useCssVars; - 顶级
await;
-
-
编译顺序
- 脚本分析;
- 将脚本合并到Options API对象中
- 简单的字段合并;
- 使用
{ ...遗留, ...设置 }进行非平凡合并;
- 附加编译后的模板
- 在
DEV模式下添加绑定返回,然后为_sfc_对象附加渲染函数; - 在
PROD模式下内联模板;
- 在
- 附加额外信息:
名称、作用域等。
依赖项
~13MB
~294K SLoC