我想根据环境代理不同的api-我尝试了以下主题的一些变体,但没有任何运气。如果可能的话,正确的方法是什么?
[build.environment]
API_URI="https://dev-api.foo.com/:splat"
[context.production.environment]
API_URI="https://prod-api.foo.com/:splat"
[[redirects]]
from = "/api/*"
to = "$API_URI"
status = 200
force = true
Run Code Online (Sandbox Code Playgroud)
这是行不通的。
尽管当我将URI硬编码到to字段中时上述配置有效,但是当我尝试插入env var时它只是失败。
不支持它,但是Netlify在其文档(https://www.netlify.com/docs/netlify-toml-reference)中建议了一种解决方法:
不支持将netlify.toml文件中的环境变量直接用作值($ VARIABLENAME)。但是,假设您仅尝试更改标头或重定向,则以下工作流可用于基于文件中的环境变量替换值。在构建之前,将读取文件的其余部分-但在构建过程之后将读取这些部分。
- 在netlify.toml重定向或标头部分的某处添加占位符,例如API_KEY_PLACEHOLDER。
- 创建具有所需值的构建环境变量,例如API_KEY。您可以在toml文件中或在配置的Build and Deploy Settings部分的UI中执行此操作。您可以使用后者将敏感值排除在存储库之外。
- 将以下命令添加到构建命令中:sed -i s / API_KEY_PLACEHOLDER / $ API_KEY / g netlify.toml &&常规构建命令。
| 归档时间: |
|
| 查看次数: |
1953 次 |
| 最近记录: |