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