templateData变量从helper函数返回undefined(docpad.coffee配置文件)

时间:2013-07-03 17:14:18

标签: node.js scope coffeescript docpad

这是我的configuration file

docpadConfig = {
    templateData:
        site:
            title: 'hello docpad'

        getTitle: ->
            @site.title

        getString: ->
            'just a string'
}

# Export the DocPad Configuration
module.exports = docpadConfig

当我执行title= site.title时,从玉器布局呈现正常。当我尝试调用辅助函数title= getTitle()时,控制台输出:

error: An error occured:
ReferenceError: /Volumes/Data/project/am/lab/docpad/hello_docpad/src/layouts/default.html.jade:21
    19|
    20|     //- Our site title and description
  > 21|     title= getTitle()
    22|
    23|     //- Output DocPad produced meta elements
    24|     != getBlock('meta').toHTML()

site is not defined
    at docpadConfig.templateData.getWat (/Volumes/Data/project/am/lab/docpad/hello_docpad/docpad.coffee:10:16)
    at eval (eval at <anonymous> (/Volumes/Data/project/am/lab/docpad/hello_docpad/node_modules/docpad-plugin-jade/node_modules/jade/lib/jade.js:170:8), <anonymous>:47:64)

看起来我无法从帮助函数中访问该站点对象。

我确定我遗漏了一些微不足道的东西,也许需要一个插件...这里找不到“wat”是错的。

1 个答案:

答案 0 :(得分:2)

我发现解决方案在docpad skeleton中查找了类似的问题。这与Jade预处理器中的bug有关。

更新至"docpad-plugin-jade": "~2.4.1"可解决此问题。