#web-framework #语法 #过程宏 #css #wasm-pack #程序化 #语言

已删除 cwf

基于CSS语法的编译型Web框架

使用旧的Rust 2015

0.0.2 2020年7月19日
0.0.1 2020年7月9日

#28 in #wasm-pack


用于 create-cwf-app

MIT 许可证

12KB
305

Cwf 是使用Rust过程宏实现的Web前端语言。

安装时,您需要

  1. rustc/cargo
  2. node/npm
  3. wasm-pack

然后

git clone --recurse-submodules https://github.com/thisminute/cascading-wasm-framework.git
cd cascading-wasm-framework

对于Windows用户,在根目录下运行

rustup toolchain install stable-x86_64-pc-windows-gnu
rustup default stable-x86_64-pc-windows-gnu

理解代码

执行步骤

代码在高级上分为4部分

  1. 解析

  2. 页面初始化

  3. 执行

  4. 首先,将cwf语法解析成Rust可以处理的数据结构。数据结构和解析规则都在 src/tokens.rs 中。

  5. 然后,通过在 src/lib.rs 中定义的 proc_macro 将数据结构转换为Rust代码。这部分逻辑是代码块外的代码,而那些代码块内的代码最终将在浏览器中运行。

  6. quote! {} 块中的部分代码属于第三组,在页面启动时设置页面上的组件和数据绑定。

  7. 尽管与初始化步骤不完全独立,但其余代码可以认为是页面使用时执行的,尤其是由事件监听器触发的代码。

集成测试

./tests 包含了一组cwf示例,它们渲染不同的功能。目前,它们只是检查示例是否可以编译。

依赖关系

~2MB
~43K SLoC