# kreftjs 中文文档

规范地址：https://npmcn.com/package/kreftjs/

版本：0\.0\.11-beta
npm 元数据更新时间：2026-11-03T20:51:30.436Z
中文译文更新时间：2026-11-04T00:48:12.435Z
软件包许可：Elastic-2\.0

本文由上游 README 翻译，可能存在偏差，请结合原文核对 API、命令与配置。版权与许可归原作者所有。

原始 npm 页面：https://www.npmjs.com/package/kreftjs
原文对照：https://npmcn.com/package/kreftjs/?lang=original

## 关键信息（来自 npm 元数据）

- 包体积（解压后）：1.8 MB，186 个文件
- 模块格式：CommonJS
- TypeScript 类型：包内自带
- 运行依赖：0 个
- 首次发布：2026-11-03T14:42:34.742Z
- 最新版本发布：2026-11-03T20:50:51.475Z
- 已发布版本数：11（近 12 个月 11 个）

## 中文简介

一个带有自己组件语言（.kreft文件）的小型响应式框架：带有嵌套路由的路由器、存储、保存数据、动画、API客户端、热加载、DevTools和模板引擎。

## 安装

```sh
npm install kreftjs
```

也可以使用：`pnpm add kreftjs`、`yarn add kreftjs`、`bun add kreftjs`

## README

# Kreft

**一个小型的响应式框架，拥有自己的组件语言，以及一个完整的Node.js后端。**

你把分量写在 `.kreft` 以明文表示的文件： `state`， `derive`， `action`． 同一个项目还为您提供了路由、控制器、活动记录ORM、迁移、队列、邮件、带有双因素代码的登录页面，以及一个具有热重新加载功能的开发服务器，该服务器可以保存您的状态。

📖 **[阅读文档](https://npmcn.com/package/kreftjs/docs/README.md)** ·运行 `npm run dev` 和开放 `/demo/docs` 可搜索的版本。

```html
<!-- Counter.kreft -->
state count = 0
derive double = count * 2
action add() { count++ }

<view>
  <button @click={add}>{count} × 2 = {double}</button>
</view>
```

## 一分钟后开始

你需要 [node . js](https://nodejs.org/) 22.5或更新。

```bash
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`）. 一个新项目已经有登录，注册，密码重置，仪表板和个人资料页面。开发数据库有一个测试用户， **[test@example.com](mailto:test@example.com)** 输入密码 **密码**，只供本地使用。

## 里面是什么？

|  |  |
| --- | --- |
| **这个 `.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服务器。 |

## 了解更多

| 我想…… | 阅读 |
| --- | --- |
| 创建我的第一页 | [你的第一个应用](https://npmcn.com/package/kreftjs/docs/README.md#your-first-app) 和 [组件](https://npmcn.com/package/kreftjs/docs/README.md#components-and-the-kreft-file) |
| 获取数据和处理表单 | [获取数据](https://npmcn.com/package/kreftjs/docs/README.md#fetching-data)， [形式](https://npmcn.com/package/kreftjs/docs/README.md#forms-and-validation) |
| 添加API和数据库 | [路由](https://npmcn.com/package/kreftjs/docs/README.md#routing)， [模型](https://npmcn.com/package/kreftjs/docs/README.md#models-and-the-database)， [迁移](https://npmcn.com/package/kreftjs/docs/README.md#migrations-seeders-and-factories) |
| 理解登录 | [身份验证](https://npmcn.com/package/kreftjs/docs/README.md#authentication) |
| 投入生产 | [构建和部署](https://npmcn.com/package/kreftjs/docs/README.md#build-and-deploy)， [生产检查表](https://npmcn.com/package/kreftjs/docs/README.md#production-checklist) |
| 查找命令 | [命令行](https://npmcn.com/package/kreftjs/docs/README.md#command-line),然后 `kreft list` |

## 演示

在这个存储库中， `npm run dev` 提供每个功能的实时示例 **http://localhost:8000/demo/**：组件、表单、循环、动画、路由器和布局、数据库页面、后端和可搜索文档 `/demo/docs`。

## 仓库布局

```text
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` 只回答你自己的电脑。手册上有 [安全概述](https://npmcn.com/package/kreftjs/docs/README.md#security-overview) 和一个 [生产检查表](https://npmcn.com/package/kreftjs/docs/README.md#production-checklist)。运行 `npm test` 运行安全性回归测试。

## 许可证

克雷夫特被释放了 [弹性许可证2.0](https://npmcn.com/package/kreftjs/LICENSE)． 您可以使用它，包括构建和销售您自己的应用程序，复制和更改它。您不得将Kreft本身作为托管或托管服务提供给他人，也不得删除或隐藏其许可通知。

## 常见问题

### kreftjs 是什么？

一个带有自己组件语言（\.kreft文件）的小型响应式框架：带有嵌套路由的路由器、存储、保存数据、动画、API客户端、热加载、DevTools和模板引擎。

### 如何安装 kreftjs？

在项目目录运行 npm install kreftjs，或使用 pnpm add / yarn add / bun add。它还提供命令行工具 kreft、kreftjs，可以用 npx kreft 直接运行。

### kreftjs 支持 TypeScript 吗？

支持。包内自带 TypeScript 类型声明（package\.json 声明了 types 入口），安装后即可获得类型提示，无需再安装 @types 包。

### kreftjs 支持 ESM 还是 CommonJS？

以 CommonJS 形式发布，可以直接 require\(\)；在 ES Module 项目中也可以用 import 引入（Node\.js 会把 module\.exports 作为默认导出）。

### kreftjs 可以商用吗？

kreftjs 使用 Elastic-2\.0 许可。声明的许可为 Elastic-2\.0，请阅读许可原文确认使用条件。以上为概括，不构成法律意见，请以许可原文为准。

### kreftjs 还在维护吗？

最新版本 0\.0\.11-beta 发布于 2026/11/04（1 天前）；至今共发布 11 个版本，其中过去 12 个月发布了 11 个；首次发布于 2026/11/03。发布频率只是参考信号：功能稳定的工具可能很少需要更新，建议结合源码仓库的 issue 和提交记录判断。

