<p align=center>
<img height="80px" src="https://yellow-cdn.veclightyear.com/835a84d5/8e01e502-b785-4f0b-bb01-77b6eec158bb.png"/>
</p>
<p align=center>
使用React和Node.js开发全栈Web应用的最快方法。
</p>
<br>
<p align=center>
<a href="https://github.com/wasp-lang/wasp/blob/main/LICENSE"><img alt="license" src="https://img.shields.io/github/license/wasp-lang/wasp"></a>
<a href="https://github.com/wasp-lang/wasp/releases/latest"><img alt="latest release" src="https://img.shields.io/github/v/release/wasp-lang/wasp"/></a>
<a href="https://discord.gg/rzdnErX"><img alt="discord" src="https://img.shields.io/discord/686873244791210014?label=chat%20@%20discord"/></a>
</p>
<p align="center">
<a href="https://wasp-lang.dev">网站</a> | <a href="https://wasp-lang.dev/docs">文档</a>
</p>
<br>
Wasp(Web Application Specification)是一个类似于Rails的框架,用于React、Node.js和Prisma。
一天内构建您的应用,并通过单个CLI命令部署!
为什么Wasp很棒
- 🚀 快速启动:由于其表达能力强,您可以用简洁、一致、声明式的代码创建并部署一个生产就绪的Web应用。
- 😌 无样板代码:通过抽象复杂的全栈特性,减少了样板代码。这意味着更少的代码需要维护和理解!也意味着更容易升级。
- 🔓 无锁定:您可以在任何喜欢的地方部署Wasp应用。没有特定供应商的锁定;您可以完全控制代码(如果您感兴趣,实际上可以在.wasp/目录中查看)。
特性
🔒 全栈认证, 🖇️ RPC (客户端 <-> 服务器), 🚀 简单部署, ⚙ ️任务, ✉️ 邮件发送, 🛟 全栈类型安全, ...
代码示例
简单的Wasp配置文件,其中描述了Web应用的高级细节:
// 文件: main.wasp
app todoApp {
title: "ToDo 应用", // 在浏览器标签中可见
wasp: { version: "^0.14.0" },
auth: { // 开箱即用的全栈认证
userEntity: User, methods: { email: {...} }
}
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
authRequired: true, // 限制只有登录用户可访问。
component: import Main from "@client/Main.tsx" // 您的React代码。
}
query getTasks {
fn: import { getTasks } from "@server/tasks.js", // 您的Node.js代码。
entities: [Task] // 自动缓存失效。
}
// 文件: schema.prisma
model Task { // 您的Prisma数据模型。
id Int @id @default(autoincrement())
description String
isDone Boolean @default(false)
}