2013-07-03 2 views
1

Это мой configuration file.templateData переменные возвращаются undefined из вспомогательной функции (файл конфигурации docpad.coffee)

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

     getTitle: -> 
      @site.title 

     getString: -> 
      'just a string' 
} 

# Export the DocPad Configuration 
module.exports = docpadConfig 

От макета нефрита, когда я title= site.title это делает нормально. Когда я пытаюсь вызвать функцию Helper 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) 

Похоже, я не могу получить доступ к объекту сайта внутри функции помощника.

Я уверен, что мне не хватает чего-то тривиального, возможно, для этого необходим плагин ... не могу найти «ват» здесь неправильно.

ответ

2

Я нашел решение, рассматривающее аналогичную проблему в docpad skeleton. Это относится к bug в предварительном процессоре Jade.

Обновление до "docpad-plugin-jade": "~2.4.1" устраняет проблему.