我正在尝试使用commonJS模式在coffeescript中扩展木偶的模块类,以便可以要求通用的Module类在应用程序的各个部分之间重用。到目前为止,还没有运气。
到目前为止,我已经尝试过了:
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成功做到这一点?还是有人有任何想法可能会有所帮助?
这是我参考的文档:https://github.com/marionettejs/backbone.marionette/blob/master/docs/marionette.application.module.md
最佳答案
问题addInitializer
是模块实例的方法,但是扩展时无法调用它。但是您可以覆盖空的默认initialize
,在其中可以添加如下的初始化程序和终结程序:
module.exports = Marionette.Module.extend(
initialize: () ->
console.log('initialize module')
@addInitializer((options) =>
console.log 'starting module'
)
)
关于javascript - 使用CoffeeScript,CommonJS扩展Backbone.Marionette模块,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/22919116/