扫一扫分享
Wasp(Web 应用程序规范)是一个类似 RAIls 的 react、Node.js 和 Prisma 框架,借助于该框架开发者可以快速构建应用程序并使用单个 CLI 命令进行应用部署。
快速入门:由于其表现力,开发者可以使用很少的简洁、一致的声明性代码从头开始创建和部署一个生产就绪的 Web 应用程序。
无样板代码:通过抽象出复杂的全栈功能,可以减少样板代码。 这意味着需要维护和理解的代码更少,同时也更容易升级。
无锁定:开发者可以在任何地方部署 Wasp 应用程序。 没有锁定特定的提供者,可以完全控制代码。
Wasp的核心是main.wasp文件,它作为你大部分需求的一站式服务。在其中,你可以定义:
全栈身份验证
数据库架构
异步作业,无需额外的基础设施
简单且灵活的部署
全栈类型安全
发送电子邮件(Sendgrid、MailGun、SMTP服务器等)
等等……
最酷的事情是?经过编译器步骤后,你的Wasp应用程序的输出是一个标准的React + Vite前端、Node.js后端和PostgreSQL数据库。从那里,你可以使用单个命令轻松将一切部署到Fly.io等平台。
尽管有些人可能会认为Wasp的有主见立场是负面的,但它却是Wasp众多全栈功能的驱动力。使用Wasp,单个开发人员或小型团队启动全栈项目变得更加容易,尤其是如果你使用预制的模板或OpenSaaS作为你的SaaS起点。由于项目的核心是定义明确的,因此开始一个项目并可能在几天内创建自己的全栈SaaS变得非常容易!
此外,还有一点很酷的是,大多数Web开发人员对大多数现有技术的预先存在的知识仍然在这里适用,因为Wasp使用的技术已经成熟。
简单的 Wasp 配置文件,您在其中描述 Web 应用程序的高级详细信息:
// file: main.wasp
app todoApp {
title: "ToDo App", // visible in the browser tab
wasp: { version: "^0.11.0" },
auth: { // full-stack auth out-of-the-box
userEntity: User, methods: { email: {...} }
}
}
route RootRoute { path: "/", to: MainPage }
page MainPage {
authRequired: true, // Limit access to logged-in users.
component: import Main from "@client/Main.tsx" // Your React code.
}
query getTasks {
fn: import { getTasks } from "@server/tasks.js", // Your Node.js code.
entities: [Task] // Automatic cache invalidation.
}
entity Task {=psl // Your Prisma data model.
id Int @id @default(autoincrement())
description String
isDone Boolean @default(false)
psl=}
给定一个简单的 .wasp 配置文件(描述 Web 应用程序的高级详细信息)和 .js(x)/.css/...(具有您独特逻辑的源文件),Wasp 编译器会生成 Web 应用程序的完整源代码目标堆栈中:前端、后端和部署。
这种独特的方法使黄蜂变得“聪明”并赋予它超能力!
手机预览