本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
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*