了解构建规范 - AWS Amplify 托管

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

了解构建规范

Amplify 应用程序的编译规范是 Amplify 用来运行构建的YAML设置和编译命令的集合。下表描述了这些设置及其使用方式。

版本

Amplify YAML 版本号。

appRoot

此应用程序所在存储库中的路径。除非定义了多个应用程序,否则忽略。

env

向此部分中添加环境变量。您还可以使用控制台添加环境变量。

后端

作为持续部署的一部分,运行 Amplify CLI 命令来配置后端、更新 Lambda 函数或 GraphQL 架构。

frontend

运行前端构建命令。

测试

在测试阶段运行命令。了解如何为应用程序添加测试

构建阶段

前端和后端都具有三个阶段,表示在每个构建序列中运行的命令。

  • preBuild- preBuild 脚本在实际构建开始之前运行,但在 Amplify 安装依赖项之后运行。

  • build – 您的构建命令。

  • postBuild-生成后脚本将在构建完成并且 Amplify 已将所有必需的工件复制到输出目录后运行。

buildpath

用于运行构建程序的路径。Amplify 使用此路径来查找您的构建构件。如果您没有指定路径,Amplify 会使用单一存储库应用程序根目录,例如 apps/app

artifacts>base-directory

您的构建构建所位于的目录。

artifacts>files

指定要部署的构件中的文件。输入 **/* 以包含所有文件。

cache

指定构建时的依赖关系,例如 node_m odules 文件夹。在第一次构建期间,此处提供的路径会被缓存。在后续构建中,Amplify 会在运行您的命令之前将缓存恢复到相同的路径。

Amplify 认为所有提供的缓存路径都是相对于您的项目根目录的。但是,Amplify 不允许在项目根目录之外遍历。例如,如果您指定绝对路径,则构建将成功且不会出现错误,但不会缓存该路径。

以下编译规范示例演示了基本YAML语法。

version: 1 env: variables: key: value backend: phases: preBuild: commands: - *enter command* build: commands: - *enter command* postBuild: commands: - *enter command* frontend: buildpath: phases: preBuild: commands: - cd react-app - npm ci build: commands: - npm run build artifacts: files: - location - location discard-paths: yes baseDirectory: location cache: paths: - path # A cache path relative to the project root - path # Traversing outside of the project root is not allowed test: phases: preTest: commands: - *enter command* test: commands: - *enter command* postTest: commands: - *enter command* artifacts: files: - location - location configFilePath: *location* baseDirectory: *location*