我想要类似下面的伪代码:
collections:
posts: function (database) {
var match = env === 'debug' {layout: 'post', published: true} ? {layout: 'post'};
return database.findAllLive(match, {date:-1});
}
答案 0 :(得分: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 --debug
CLI标志的布尔值。