首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Grails多环境配置块

Grails多环境配置块
EN

Stack Overflow用户
提问于 2015-07-07 00:55:01
回答 1查看 283关注 0票数 1

语法糖/聪明的黑客问题。

我想以一种更优雅/更简洁的方式来编写多环境配置块,而不是下面的方式(它可以工作,但很难看):

代码语言:javascript
复制
environments {
    development {
        // long list of directives
    }
    ["staging", "production"].each{"$it"{  // <- ugly!
        // another long list of directives
    }}
}

我试着像下面这样拼凑一些数字用户线,将propertyMissing添加到EnvironmentBlockEvaluator.metaClass中,但我做不到。主要的问题是,在environments { }中的闭包有机会对它们做任何事情之前,配置文件中的空字词(比如staging)就变成了空的groovy.util.ConfigObject。我不知道为什么。

代码语言:javascript
复制
(staging | production) {
    // directives
}

有什么好主意吗?

EN

回答 1

Stack Overflow用户

发布于 2015-07-07 01:12:24

您可以在resources.groovy中使用switch块-我认为它也适用于Config.groovy (尽管还没有实际测试)。

代码语言:javascript
复制
switch (Environment.current) {
    case Environment.DEVELOPMENT:
    case Environment.TEST:
    //stuff for dev & test environments
    break
    default:
    //production stuff
}

不过,比起["staging", "production"].each{"$it"...,它在视觉上只是稍微简单一点。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31251484

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档