Project Icon

wasp

简化全栈React和Node.js应用开发的框架

Wasp是一个面向React、Node.js和Prisma的开发框架,通过声明式代码简化Web应用的创建和部署过程。它提供全栈认证、RPC、部署自动化等功能,减少样板代码,提升开发效率。Wasp不绑定特定供应商,支持灵活部署,适合快速构建全栈Web应用。该框架类似Rails,但专注于现代JavaScript技术栈,为开发者提供简洁高效的全栈开发体验。

使用React和Node.js开发全栈Web应用的最快方法。


license latest release discord


网站 | 文档


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)
}

您在React / Node.js / Prisma中编写其余的代码,并从.wasp文件中引用它。

:arrow_forward: 查看TodoApp示例获取完整代码示例。:arrow_backward:

工作原理

给定一个简单的.wasp配置文件(描述Web应用的高级细节)和包含您独特逻辑的.js(x)/.css/...源文件,Wasp编译器会在目标栈中生成Web应用的完整源代码:前端、后端和部署。

这种独特的方法使Wasp变得"智能"并赋予它超能力!

有关Wasp的更多信息,请查看文档

开始使用

在OSX/Linux/WSL(Win)上运行以下命令安装Wasp:

curl -sSL https://get.wasp-lang.dev/installer.sh | sh

从那里开始,只需按照说明在不到一分钟的时间内运行您的第一个应用程序!

更多详情,请查看文档

Wasp AI / Mage

Wasp附带实验性AI代码生成器,可帮助您启动下一个Wasp项目 -> 如果您能提供OpenAI密钥,可以通过CLI中的wasp new使用它(选择"AI"选项),或者您可以通过我们的Mage网页应用使用,在这种情况下,我们的OpenAI密钥将在后台使用。

本仓库

这是Wasp宇宙的主要仓库,包含核心代码(主要是waspc - Wasp编译器)和支持材料。

项目状态

目前,Wasp处于测试阶段,大部分功能已经完善并运行良好。 然而,我们对未来还有许多改进和新增功能的想法,我们正在不断努力,所以您可以期待未来会有很多变化和改进。

虽然未来的想法是支持多种Web技术栈,但现在我们专注于特定的技术栈:React + react-query、NodeJS + ExpressJS和Prisma。

贡献

任何您想贡献的方式都是好方式:)!

最好的开始方式是查看waspc/,那里有针对首次贡献者的详细步骤以及关于Wasp编译器的技术细节。

Wasp的核心是用Haskell构建的,但Wasp还有很多非Haskell部分,所以您一定能找到适合您的内容!

即使您不打算提交任何代码,仅仅加入Discord上的讨论Discord并给出您的反馈已经很棒了,这对我们帮助很大(激励我们并帮助我们确定如何塑造Wasp)!

您还可以:

职业机会

查看我们的职业页面,了解当前开放的职位列表!

赞助商

michelwaechter - 我们有史以来的第一位赞助商!Michel,非常感谢您❤️,来自整个Wasp团队,感谢您勇敢地走向前人未至之地:)!

shayneczyzewski - 感谢Shayne,感谢您迄今为止所做的所有贡献以及您持续的支持!

VelocityOne - 感谢VelocityOne的慷慨捐赠!

ricdex - 我们感谢Ricardo在Wasp早期阶段对我们的支持:)!

ThomasJonesUK - 感谢Thomas对Wasp的支持:)! Arukaito - 我们的优秀赞助商一次又一次地支持我们!

Case-E - 非常感谢你通过赞助和提出宝贵建议来支持我们!

往期赞助商

MarianoMiguel Tech4Money haseeb-heaven

项目侧边栏1项目侧边栏2
推荐项目
Project Cover

豆包MarsCode

豆包 MarsCode 是一款革命性的编程助手,通过AI技术提供代码补全、单测生成、代码解释和智能问答等功能,支持100+编程语言,与主流编辑器无缝集成,显著提升开发效率和代码质量。

Project Cover

AI写歌

Suno AI是一个革命性的AI音乐创作平台,能在短短30秒内帮助用户创作出一首完整的歌曲。无论是寻找创作灵感还是需要快速制作音乐,Suno AI都是音乐爱好者和专业人士的理想选择。

Project Cover

有言AI

有言平台提供一站式AIGC视频创作解决方案,通过智能技术简化视频制作流程。无论是企业宣传还是个人分享,有言都能帮助用户快速、轻松地制作出专业级别的视频内容。

Project Cover

Kimi

Kimi AI助手提供多语言对话支持,能够阅读和理解用户上传的文件内容,解析网页信息,并结合搜索结果为用户提供详尽的答案。无论是日常咨询还是专业问题,Kimi都能以友好、专业的方式提供帮助。

Project Cover

阿里绘蛙

绘蛙是阿里巴巴集团推出的革命性AI电商营销平台。利用尖端人工智能技术,为商家提供一键生成商品图和营销文案的服务,显著提升内容创作效率和营销效果。适用于淘宝、天猫等电商平台,让商品第一时间被种草。

Project Cover

吐司

探索Tensor.Art平台的独特AI模型,免费访问各种图像生成与AI训练工具,从Stable Diffusion等基础模型开始,轻松实现创新图像生成。体验前沿的AI技术,推动个人和企业的创新发展。

Project Cover

SubCat字幕猫

SubCat字幕猫APP是一款创新的视频播放器,它将改变您观看视频的方式!SubCat结合了先进的人工智能技术,为您提供即时视频字幕翻译,无论是本地视频还是网络流媒体,让您轻松享受各种语言的内容。

Project Cover

美间AI

美间AI创意设计平台,利用前沿AI技术,为设计师和营销人员提供一站式设计解决方案。从智能海报到3D效果图,再到文案生成,美间让创意设计更简单、更高效。

Project Cover

AIWritePaper论文写作

AIWritePaper论文写作是一站式AI论文写作辅助工具,简化了选题、文献检索至论文撰写的整个过程。通过简单设定,平台可快速生成高质量论文大纲和全文,配合图表、参考文献等一应俱全,同时提供开题报告和答辩PPT等增值服务,保障数据安全,有效提升写作效率和论文质量。

投诉举报邮箱: service@vectorlightyear.com
@2024 懂AI·鲁ICP备2024100362号-6·鲁公网安备37021002001498号