Docpad插件Contactify问题:docpad未定义

时间:2014-05-27 05:03:10

标签: plugins docpad

我正在努力让Docpad Contactify插件按预期工作,但我没有运气,我希望在这里得到一些帮助,如果可能的话。

所以有问题的插件是https://github.com/thaume/docpad-plugin-contactify并且它没有通过nom正确安装,所以我通过/ plugins /添加了它。无论如何,当它运行干净时,我得到一个'ReferenceError:docpad未定义'由此行引起...

    config = docpad.getConfig().plugins.contactify

所以我把它改成了......

config = @getConfig()

然而我收到以下错误......

TypeError: Object function ContactifyPlugin() {
    return ContactifyPlugin.__super__.constructor.apply(this, arguments);
  } has no method 'getConfig'

只是想找一种发送邮件的方法,这是唯一能够实现这一目标的Docpad插件,所以我非常渴望让它运行起来。任何输入都将不胜感激!

1 个答案:

答案 0 :(得分:0)

contactify和docpad版本似乎存在问题。我让它在docpad 6.46下运行,一切似乎都没问题。当我更新到6.66时,contactify破了。似乎有两个相关的变化。插件的上下文似乎已更改,因此function(BasePlugin)上下文中的docpad不再直接可用,而docpad本身不再使用getConfig方法(而是需要访问{{} 1}}属性直接)

config方法中移动违规代码似乎解决了docpad本身是插件serverExtend上下文属性的上下文问题。

this

Coffeescript版本:

    ContactifyPlugin.prototype.serverExtend = function(opts) {

            docpad = this.docpad;
            config = docpad.config.plugins.contactify;
            smtp = nodemailer.createTransport('SMTP', config.transport);
            var server;
            server = opts.server;
            ...