【发布时间】:2014-05-20 02:11:39
【问题描述】:
我正在尝试使用commonJS 模式在coffeescript 中扩展marionette 的模块类,以便我可以要求一个通用模块类在我的应用程序的各个部分中重用。到目前为止,没有运气。
到目前为止,我已经尝试过:
module.exports = class SingleFeed extends Marionette.Module
@addInitializer((options) =>
console.log 'initialize'
)
还有这个:
module.exports = Marionette.Module.extend(
@addInitializer((options) =>
console.log 'initialize'
)
)
希望我可以像这样在我的应用程序中重用这段代码:
HomeFeed = require '../modules/components/feeds/SingleFeed'
hf = new HomeFeed()
app.module('HomeFeed',
moduleClass: hf
).start(options)
有人用coffeescript成功地做到了这一点吗?或者有没有人有任何可能有帮助的想法?
【问题讨论】:
-
您的尝试不起作用的原因与 CoffeeScript 无关:正如@dmytro-yarmak 在他的回答中解释的那样,这更像是您在错误的时间做正确的事情。要扩展一个 CS 类或木偶模块,您需要提供一个扩展对象;相反,您将调用成员函数的结果传递给它。更糟糕的是,还没有实例(您正在定义一个类),所以调用
@addInitializer没有意义。
标签: javascript backbone.js coffeescript marionette commonjs