首页 > 解决方案 > 无服务器框架和条件值的解决方法

问题描述

在阅读了无服务器文档和他们论坛中的一些帖子后,我注意到没有办法实现明确的条件归因。

我想根据阶段设置一个或其他值。

provider:
  stage: ${opt:stage, 'production'}

custom:
  domain: here's where the conditional should set one or the other value

因此,如果阶段是生产, custom.domain 应该保存值:www.mydomain.com,但如果是开发阶段,它应该保存 www-dev.mydomain.com

我发现了一些库/插件,例如https://www.serverless.com/plugins/serverless-plugin-ifelse,但其中大多数都已过时。

您知道无需安装插件即可实现此目的的解决方法吗?

标签: serverless-frameworkserverless

解决方案


一种常用的解决方法是定义每个阶段的值并使用可变分辨率路由到特定的值。

custom:
  stageTargets:
    dev:
      domain: dev.foobar.com
    prod:
      domain: foobar.com
  target: ${self:custom.stageTargets.${self:custom.stage}}
  domain: ${self:custom.target.domain}

推荐阅读