跳转到内容

代码生成

在 代码 部分,Restorm 根据您的设计 生成 您的应用程序 代码。生成依托 于 Cookiecutter/Copier 兼容的 模板:您自己的,或 Restorm 提供的。

代码部分:一个已添加的模板、一个输出文件夹,以及写入前所生成树的预览

  1. 添加一个或多个模板 —— 通过 模板库。
  2. 选择一个 输出文件夹(绝对路径,或相对于项目)。
  3. 点击 生成项目。

生成会 在沙箱中渲染,然后以 预览 形式呈现:Restorm 向您展示所生成文件的 树,并 在您确认之前不写入任何内容。之后您可以 写入输出文件夹 或 放弃。(只要还存在验证问题,生成就会被阻止。)

一个模板可以声明 问题(Copier 意义上的 —— 例如一个 project_slug),您在 生成时回答它们。您的回答会保存在输出根目录的一个 .copier-answers.yml 文件中, 并在下次生成时重新加载。

生成不是单向的。重新生成扮演着 copier update 的角色:Restorm 记住一个基线, 并在模板的新输出与您的本地修改之间执行一次 三方合并 —— 因此您的更改 不会被覆盖。您让设计(或模板)演进,您重新生成,代码在保留您工作的同时得到 更新。

模板库 提供四种来源:

  • 官方 —— 由 Restorm 维护的模板,对所有人可见。
  • 组织 —— 在您的 组织内部共享、仅对其成员私有的模板。这是一个 Enterprise 功能:一个 管理员 —— 或一个拥有 管理模板 权限的成员 —— 从库的 Templates <组织> 标签页,或从管理仪表板,添加或移除它们(仓库 URL + 描述)。参见官方模板与组织模板。
  • 仓库 —— 一个 GitHub owner/name 仓库(通常是您改编过的某个官方模板的 fork)。
  • 本地文件夹 —— 一个正在开发中的模板,无需网络。

模板的结构和官方目录在官方模板页面中描述。 模板从您的设计 接收 什么(模型、路由及其标志)在模板的上下文 中详述,而模板自身的设置在生成变量中详述。