繁体   English   中英

使用CoffeeScript,CommonJS扩展Backbone.Marionette模块

[英]Extending Backbone.Marionette Module With CoffeeScript, CommonJS

我正在尝试使用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'
    )

)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM