brumate
用于可恢复web应用程序的组件语言和编译器。
brumate 编译排成一列纵队 .brm 组件分为服务器端呈现的HTML和小型客户端模块。浏览器不补水。它读取服务器写入页面的状态,并在启动时加载页面上组件的代码。
安装
pnpm add brumate
pnpm add -D vite @brumate/tsc typescript
brumate需要Node 22.18或更新版本,以及Vite。
// vite.config.ts
import brumate from 'brumate/vite';
import { defineConfig } from 'vite';
export default defineConfig({
plugins: [brumate()],
build: {
manifest: true,
rolldownOptions: { input: 'src/client.ts' },
},
});
// src/client.ts
import 'virtual:brumate/start';
一个组件
<script>
import { $memo, $signal } from 'brumate/signals';
let count = $signal(0);
const double = $memo(count * 2);
</script>
<button onClick=(() => count++)>Clicked {count} times</button>
<p>Double: {double}</p>
服务器呈现按钮和文本。当页面启动时,浏览器加载单击处理程序的代码,以及它引起的更新的代码。它不会再次呈现该页。
它包括什么
brumate/signals:编译时函数,如$signal,$memo,$effect,$props,$action和$optimistic.brumate/vite: Vite插件。它编译.brm文件,每个处理程序拆分客户端代码,在开发中提供服务器函数调用,并且可以预呈现页面。brumate/server:渲染、流、路由、服务器功能、会话、cookie和标准模式验证。brumate/loader和brumate/client:在浏览器中运行的加载器和内核。brumate/testing:在DOM中挂载组件进行测试,具有真实服务器的功能。
文档
Brumate是0。页面格式可以在不同版本之间改变,因此服务器和客户端必须来自相同的版本。
许可证
麻省理工学院© lxsmnsyc