0

我想要类似下面的伪代码:

collections:
    posts: function (database) {
        var match = env === 'debug' {layout: 'post', published: true} ? {layout: 'post'};
        return database.findAllLive(match, {date:-1});
    }
4

1 回答 1

0

您需要使用this.docpad.getEnvironments()(JavaScript) 或@docpad.getEnvironments()(coffeescript) 来返回我们当前使用的环境中的数组。然后,根据您的代码意图,您想检查debug它是否在其中。

在您使用的 JavaScript 中:

collections: {
    posts: function (database) {
        var match = this.docpad.getEnvironments().indexOf('debug') != -1 then {layout: 'post', published: true} ? {layout: 'post'};
        return database.findAllLive(match, {date:-1});
    }
}

在标准的 CoffeeScript 中

collections:
    posts: (database) ->
        match =
            if 'debug' in @docpad.getEnvironments()
                {layout: 'post', published: true}
            else
                {layout: 'post'}
        database.findAllLive(match, {date:-1})

还值得一提的是,您可能还对docpad.getDebugging()哪个将返回反映包含-d --debugCLI 标志的布尔值感兴趣。

于 2013-07-07T18:38:33.150 回答