Templates
模板和堆栈
使用 create-remix
生成新项目时,您可以选择模板或堆栈来快速启动和运行。模板是启动和运行的最小起点。堆栈
是更完整且更接近生产就绪架构的模板(可能包括测试、数据库、CI 和部署配置等方面)。
模板
如果您运行create-remix
而不提供--template
选项,您将使用Remix App Server获得一个基本模板。
如果您不想使用 TypeScript,您可以安装更简单的 Javascript 模板:
如果您只是第一次尝试 Remix,那么这里是一个很好的起点。您可以随时自行扩展此起点,或稍后迁移到更高级的模板。
官方模板
如果你想要对服务器有更好的控制权,或者希望部署到非节点运行时(例如 Arc、Cloudflare 或 Deno),那么你可以尝试 Remix 存储库中的 官方模板 之一:
第三方模板
一些托管服务提供商维护自己的 Remix 模板。有关更多信息,请参阅下面列出的官方集成指南。
示例
我们还提供了 [社区驱动的示例存储库][示例],每个示例展示了不同的 Remix 功能、模式、工具、托管服务提供商等。您可以以类似的方式使用这些来安装工作示例:
堆栈
当模板更接近于可用于生产的应用程序,以至于它提供有关 CI/CD 管道、数据库和托管平台的意见时,Remix 社区将这些模板称为堆栈
。
有几种官方提供的堆栈,但您也可以创建自己的堆栈(阅读下文了解更多信息)。
阅读功能公告博客文章 和 在 YouTube 上观看 Remix Stacks 视频。
官方堆栈
官方堆栈已准备好生产应用程序所需的常用内容,包括:
- 数据库
- 自动部署管道
- 身份验证
- 测试
- Linting/Formatting/TypeScript
剩下的就是一切准备就绪,您可以开始使用 Remix 构建任何令人惊叹的 Web 体验。以下是官方堆栈:
- Blues Stack:使用长期运行的 Node.js 服务器和 PostgreSQL 数据库部署到边缘(分布式)。适用于为数百万用户提供服务的大型快速生产级应用程序。
- Indie Stack:使用持久性 SQLite 数据库部署到长期运行的 Node.js 服务器。此堆栈非常适合您控制的动态数据网站(博客、营销、内容网站)。它也是 MVP、原型和概念验证的完美、低复杂度引导程序,以后可以轻松更新到 Blues 堆栈。
- Grunge Stack:部署到运行 Node.js 的无服务器函数,使用 DynamoDB 实现持久性。适用于想要在 AWS 基础设施上部署为数百万用户提供服务的生产级应用程序的人员。
您可以在运行create-remix
时提供--template
选项来使用这些堆栈,例如:
是的,这些都是以音乐流派命名的。🤘 继续摇滚吧。
社区堆栈
可以在运行create-remix
时将 GitHub 用户名/repo 组合传递给--template
选项来使用社区堆栈,例如:
摇滚
而是独立
!)。
其他信息
私有模板
如果您的模板位于私有 GitHub 存储库中,则可以通过 --token
选项传递 GitHub 令牌:
[令牌只需要repo
访问权限] repo_access_token。
本地模板
您可以向 --template
选项提供磁盘上的本地目录或 tarball,例如:
自定义模板提示
依赖版本
如果你将 package.json 中的任何依赖项设置为 *
,Remix CLI 会将其更改为已安装的 Remix 版本的 semver 插入符号:
这样您就不必定期将模板更新到该特定软件包的最新版本。当然,如果您希望手动管理该软件包的版本,则不必输入*
。
自定义初始化
如果模板根目录下有一个 remix.init/index.js
文件,那么在生成项目并安装依赖项后,该文件将被执行。这让您有机会在模板初始化过程中执行任何您想做的事情。例如,在 blues 堆栈中,app
属性必须是全局唯一的,因此我们使用 remix.init/index.js
文件将其更改为为项目创建的目录的名称 + 几个随机字符。
您甚至可以使用 remix.init/index.js
向开发人员询问更多问题以获得其他配置(使用类似 inquirer 的内容)。有时,您需要安装依赖项才能执行此操作,但这些依赖项仅在初始化期间有用。在这种情况下,您还可以创建带有依赖项的 remix.init/package.json
,Remix CLI 将在运行脚本之前安装这些依赖项。
运行初始化脚本后,remix.init
文件夹会被删除,因此您不必担心它会弄乱完成的代码库。
remix.init
脚本。若要手动执行此操作,他们需要运行 remix init
。