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