Kreft
一个小型的响应式框架,拥有自己的组件语言,以及一个完整的Node.js后端。
你把分量写在 .kreft 以明文表示的文件: state, derive, action. 同一个项目还为您提供了路由、控制器、活动记录ORM、迁移、队列、邮件、带有双因素代码的登录页面,以及一个具有热重新加载功能的开发服务器,该服务器可以保存您的状态。
📖 阅读文档 ·运行 npm run dev 和开放 /demo/docs 可搜索的版本。
<!-- Counter.kreft -->
state count = 0
derive double = count * 2
action add() { count++ }
<view>
<button @click={add}>{count} × 2 = {double}</button>
</view>
一分钟后开始
你需要 node . js 22.5或更新。
npm i -g kreftjs # once: makes the `kreft` command available everywhere
kreft new my-app # asks: JavaScript or TypeScript?
cd my-app
npm run dev
在终端打开地址(正常) http://localhost:8000). 一个新项目已经有登录,注册,密码重置,仪表板和个人资料页面。开发数据库有一个测试用户, [email protected] 输入密码 密码,只供本地使用。
里面是什么?
这个 .kreft 语言 | state, derive, action, watch, prop, event老虎机,商店, saved 数据, load 对于api,带有验证的表单,动画。 |
| 路由器 | 嵌套路由,布局,守卫,错误页面,干净的url。 |
| 后端 | Route、控制器、表单请求、策略、带关系的模型、软删除和作用域、迁移、种子、工厂、作业、邮件、通知、缓存、Redis、文件存储、调度。 |
| 身份验证 | 具有CSRF保护的Cookie会话,具有权限的API令牌,设备列表,双因素代码,电子邮件验证,帐户锁定。 |
| 工具 | kreft dev 使用热加载,DevTools,错误监视器, kreft build (CSP-safe),预渲染,TypeScript, Vite和Electron支持,更安全 kreft add,用于人工智能代理的MCP服务器。 |
了解更多
| 我想…… | 阅读 |
|---|---|
| 创建我的第一页 | 你的第一个应用 和 组件 |
| 获取数据和处理表单 | 获取数据, 形式 |
| 添加API和数据库 | 路由, 模型, 迁移 |
| 理解登录 | 身份验证 |
| 投入生产 | 构建和部署, 生产检查表 |
| 查找命令 | 命令行,然后 kreft list |
演示
在这个存储库中, npm run dev 提供每个功能的实时示例 http://localhost:8000/demo/:组件、表单、循环、动画、路由器和布局、数据库页面、后端和可搜索文档 /demo/docs。
仓库布局
kreftjs.js, kreftjs.d.ts the browser runtime and its TypeScript types
server.js, server.d.ts the backend entry point: require('kreftjs/server')
bin/ the `kreft` command and the backend modules (bin/backend/)
tools/ hot reload client, DevTools, Vite plugin
templates/app/ the project that `kreft new` creates
editors/vscode/ syntax colours and snippets for .kreft files
demo/ the interactive demo
docs/ the manual (README.md) and its viewer (Docs.kreft)
test/ security regression tests: npm test
安全
视图被转义,登录使用带有CSRF保护的HttpOnly cookie,密码使用scrypt,等等 kreft dev 只回答你自己的电脑。手册上有 安全概述 和一个 生产检查表。运行 npm test 运行安全性回归测试。
许可证
克雷夫特被释放了 弹性许可证2.0. 您可以使用它,包括构建和销售您自己的应用程序,复制和更改它。您不得将Kreft本身作为托管或托管服务提供给他人,也不得删除或隐藏其许可通知。