30 秒看懂
在这期 Wasp 赞助的 2023 年 10 月视频中,Matthew Berman 使用 MageGPT 和 Wasp 生成待办事项应用,在本地运行并部署到 Fly.io。演示过程中,他修复了 Node 版本问题,并将 SQLite 改为 PostgreSQL;视频中提到的产品功能与价格均为当时的信息。
- 1用提示词生成待办应用Berman 选择一个模板,要求支持用户各自的任务、数据库以及用户名和密码认证。
- 2共享项目定义根据自己的经验,他认为 Wasp 的集中配置让前后端集成更容易。
- 3在本地运行和测试他解决 Node 版本不匹配的问题,迁移数据库,注册账号并创建任务。
- 4更换数据库后部署首次 Fly 部署因使用 SQLite 而失败;将项目切换到 PostgreSQL 后,重试成功。
要点建议
- 生成工具利用结构化的 Wasp 项目连接应用页面、路由和后端。
- 演示生成了一个基础待办事项应用,但没有全面测试授权机制或生产环境就绪程度。
- 运行生成的项目需要在本地安装工具、使用兼容的 Node 版本并执行数据库迁移。
- 演示项目从 SQLite 切换到 PostgreSQL 后,成功部署到 Fly。
- 视频由 Wasp 赞助,其中关于 2023 年产品可用性和免费使用的说法可能已不再适用。
按章节阅读整理后的全文
生成 Wasp 项目
Berman 介绍这款赞助工具,并选择生成待办事项应用。工具根据提示词创建一个结构化项目。
在这次 2023 年 10 月的演示中,我试用了 MageGPT。这款工具由 Wasp 背后的团队开发,Wasp 也是本期视频的赞助商。Wasp 是一个全栈 JavaScript 框架,我觉得它类似 Ruby on Rails。MageGPT 根据提示词生成使用该框架的项目;这只是一个小型示例,不能证明所有生成的应用都能正常运行或适合生产环境。
我从生成工具的示例中选择了一个待办事项应用。提示词要求应用提供任务列表页面,允许用户创建、编辑和完成任务,并使用数据库,让每个用户只能查看和编辑自己的任务。我选择了蓝色品牌色、均衡的创意程度,以及用户名和密码认证。

界面把创意程度设定作为模型温度的一个近似指标,提供从常规到有创意的选项。在演示时,我说生成工具支持用户名和密码登录,并计划增加其他登录方式。这些都是当时的产品信息,不代表目前的支持情况。
我解释道,Wasp 的集中配置定义了路由和页面等部分,为生成工具连接前后端提供共同的结构。我见过其他生成项目在集成时遇到困难;这只是我的个人经验,并不保证 Wasp 能消除所有此类错误。
生成文件时,我说系统使用 GPT-4 进行前期规划,用 GPT-3.5 生成代码。团队还告诉我,他们在流程中加入了针对常见生成错误的修复机制。这次运行中,生成工具展示了项目文件,并报告使用了约 25,000 个 token。
在本地运行应用
他安装 Wasp,选择兼容的 Node 版本,并迁移开发数据库。随后他注册账号,测试基本任务操作。

为了运行生成的项目,我在本地安装 Wasp,下载并解压生成的 ZIP 文件,再进入项目目录。视频介绍说,当时支持 Mac 和通过 WSL 使用的 Windows 环境。请查看当前文档确认要求,不要假定 2023 年的配置仍然适用。
我运行开发数据库迁移时遇到了 Node 版本问题。针对这个项目,我用 nvm 选择 Node 18,重新运行迁移并为其命名,然后用 `wasp start` 启动应用。这些步骤和版本来自当时的演示,较新版本可能有所不同。
在本地应用中,我用用户名和密码注册,添加两个任务并将它们标记为完成。我说不同用户拥有各自的任务。画面演示了基本的注册和任务操作,但没有独立测试所有授权或安全场景。
部署到 Fly.io
他配置 Fly,更换数据库后重试部署。应用随后可以在网页上打开。
接着我演示如何部署到 Fly.io。我创建或使用一个账号,安装并登录 Fly CLI,然后通过 Wasp 的 Fly 部署命令启动部署。视频说当时需要信用卡,并称测试可以免费进行;托管方案、试用条款和费用都可能变化。

首次部署失败,因为生成的项目使用 SQLite。我修改 Wasp 配置,让 Fly 部署使用 PostgreSQL,并用一个可用的应用名称重试。第二次部署完成后,我在浏览器中打开了部署好的待办应用。
这个例子展示了一个通过提示词生成的应用:安装依赖、解决 Node 版本问题并更换生产数据库后,它先在本地运行,随后也能在网页上运行。我鼓励观众尝试其他提示词,但视频只能说明这个小型待办应用中观察到的行为。
同频道的其他文章
34:21EN → 简体中文
0:26EN → 简体中文
0:36EN → 简体中文
0:21EN → 简体中文
25:50EN → 简体中文
32:20EN → 简体中文