Stack of pancakes with cream and strawberries
2022年3月17日

Remix Stacks

Kent C. Dodds
联合创始人

在构建 Web 应用程序时,除了您使用的 Web 框架及其相关的所有工具(Remix 很乐意提供)之外,您通常还需要 CI/CD 管道、数据库和托管平台。我们许多早期采用者都是前端开发人员,他们不习惯部署应用程序和数据库服务器。坦率地说,即使是习惯了这些操作的人,也往往不喜欢设置过程。

当灵光乍现 🌩,您准备好开始编写您新的令人惊叹的想法 🤯 时,您最不希望看到的是设置的繁琐过程阻碍了您的灵感和应用程序部署。当这个想法证明是一个好主意时,没有人愿意将仓促搭建的设置部署到生产环境中。

因此,我们很高兴地宣布发布 Remix Stacks:启动并准备部署 Remix 应用程序的最简单方法!🥞

Introducing stacks video

Stacks 实际上包含两个功能

  1. 来自 Remix 团队的预构建生产就绪模板
  2. 能够为您和您的公司创建自定义模板

内置 Stacks

只需几分钟,我们就可以让您的应用程序启动并准备部署,并与 CI/CD 管道、连接的数据库(通过 prisma 提供基本数据模型)甚至用户身份验证完全连接!它还设置了开发工具,例如 TailwindTypeScriptPrettierESLintCypressMSWDockervitestTesting Library 等!

在此版本中,我们很高兴为您提供三个 Stacks,并且还有更多 Stacks 即将推出

  • Blues Stack:部署到边缘(分布式),具有长期运行的 Node.js 服务器和 PostgreSQL 数据库。适用于为数百万用户提供服务的庞大且快速的生产级应用程序。
  • Indie Stack:部署到具有持久 SQLite 数据库的长期运行的 Node.js 服务器。旨在让您快速上手,原型和概念验证的复杂性较低,以后可以轻松升级到 Blues Stack。
  • Grunge Stack:部署到运行 Node.js 的无服务器函数,并使用 DynamoDB 进行持久化。适用于希望在 AWS 基础设施上部署生产级应用程序以服务数百万用户的用户。

Desktop showing three websites

观看我快速完成 在不到 2 分钟内将 Indie Stack 部署到生产环境

或者,观看相同内容,但 将 Grunge Stack 部署到 AWS

是的,它们以音乐类型命名 🎶🎸🎷🥁

对于所有这些 Stacks,您只需运行正常的 npx create-remix@latest 并从 CLI 中选择它们即可。这将为您生成项目,然后只需打开 README.md 即可运行!在所有情况下,您都会获得一个完整的应用程序,该应用程序可以准备在本地开发并部署到生产环境,并使用自动化的 GitHub Actions。它甚至支持您的 dev 分支的登台环境!

我们甚至为您设置了所有级别的测试奖杯!使用 TypeScript/Prettier/ESLint 处理测试的静态部分,使用 Vitest 处理单元测试部分,使用 Cypress/Testing Library/MSW 处理集成/E2E 部分!事实上,我们甚至有一个自定义的 cy.login() 命令,允许您使用需要身份验证的测试快速上手。并且已经有一个测试用于测试用户注册和身份验证。从一开始就走上正轨,并充满信心地编写您的想法!

自定义 Stacks

我们知道你们许多大型公司已经拥有部署环境和首选数据库。您也有自己的 prettier 和 ESLint 配置。因此,我们以一种您可以创建自己的 Stacks 的方式构建了此功能。分叉我们的 Stacks 或从头开始创建。然后,您可以使用 Remix CLI 的 --template 标志 基于您自己的模板生成 Remix 项目!它甚至可以从私有 GitHub 存储库、tarball 的 URL 等工作。我们还为您提供了一种 自定义初始化自动删除 TypeScript 的功能,以供那些不希望获得额外帮助的用户使用。

我们完全期望自定义 Stacks 得到广泛使用。我们认为大多数人将使用自定义 Stacks,而不是我们为您构建的 Stacks。随意分叉和修改您喜欢的任何内容。从 Remix Stacks 文档 中了解更多关于创建自定义 Stacks 的信息。查看您可以在 创建自己的 Remix Stack 中创建自定义 Stack 的速度有多快

让您的想象力在这里尽情发挥。我们认为它会大受欢迎。以下是一些您可以使用 --template 标志执行的操作示例

  • 在开发您自己的 Stack 时使用本地目录。
  • 在与世界分享您的开源 Stack 时使用 GitHub 存储库。
  • 在将您的 Stack 发布到 S3 供他人在您的公司中使用时使用 Tarball URL。
  • 使用您的无头 CMS 和 Remix 构建内容平台的入门程序。
  • 使用私有 GitHub 存储库,使用您公司的组件库启动 Remix 应用程序并在您公司的基础设施上部署。

这里有很多可能性可以帮助工程师快速上手以解决他们自己的问题。

试用 Stacks!

在 Remix,我们坚定地致力于改善 Web 应用程序的用户体验 (UX)。由于开发人员体验 (DX) 和您的生产力是 UX 的重要输入,因此我们正在努力使其变得出色。而且我们绝对还没有完成。

npx create-remix@latest

获取有关最新 Remix 新闻的更新

抢先了解新的 Remix 功能、社区活动和教程。