Javascript Node.js服务器/客户端模块混乱、事件发射器问题

Javascript Node.js服务器/客户端模块混乱、事件发射器问题,javascript,node.js,backbone.js,coffeescript,eventemitter,Javascript,Node.js,Backbone.js,Coffeescript,Eventemitter,我正在尝试编写一个库,可以在Node.js中使用,也可以在客户端使用 我遇到了两个问题: 我似乎无法正确地导出它。我正在使用MyClass=导出?而exports或@MyClass={}似乎不起作用,所以我现在将文件拆分 图书馆发出事件;我希望有人能澄清我对如何更简单地做到这一点的困惑。请跟我在下面:) Node.js: 图书馆: 所需: 客户端 包括在内 class MyClass extends EventEmitter emitSomething: (key, data) ->

我正在尝试编写一个库,可以在Node.js中使用,也可以在客户端使用

我遇到了两个问题:

  • 我似乎无法正确地导出它。我正在使用<代码>MyClass=导出?而exports或@MyClass={}似乎不起作用,所以我现在将文件拆分

  • 图书馆发出事件;我希望有人能澄清我对如何更简单地做到这一点的困惑。请跟我在下面:)

  • Node.js:

    图书馆:

    所需:

    客户端

    包括在内

    class MyClass extends EventEmitter
    
      emitSomething: (key, data) ->
    
        @trigger key, [ data ] # That's stupid.
    
    库文件包含在脚本中,我在某个地方执行以下操作:

    myClass = new MyClass()
    
    myClass.on 'someevent', (data) ->
      console.log data 
    
    data = 
      key: 'value'
    
    myClass.emitSomething 'someevent', data
    
    myClass = new MyClass()
    
    myClass.on 'someevent', (data) ->
      console.log data 
    
    data = 
      key: 'value'
    
    myClass.emitSomething 'someevent', data
    
    客户端

    包括Backbone.js/underline.js(而不是上面的EventEmitter库)

    库文件包含在脚本中,我在某个地方执行以下操作:

    myClass = new MyClass()
    
    myClass.on 'someevent', (data) ->
      console.log data 
    
    data = 
      key: 'value'
    
    myClass.emitSomething 'someevent', data
    
    myClass = new MyClass()
    
    myClass.on 'someevent', (data) ->
      console.log data 
    
    data = 
      key: 'value'
    
    myClass.emitSomething 'someevent', data
    

    那么,呃,编写一个为节点和浏览器发出事件的库的最佳方法是什么?当我将EventEmitter库和主干都包括在内时,它们似乎与主干发生冲突(它需要在节点上工作,无论是否有主干)。必须有一个更简单的解决方案

    > P>你应该考虑使用BurSeriType,这会让你简单地使用MyClient模块客户端,因为它包含NODECORE事件的版本。 因此,客户端:

    MyClass = require('./myclass')
    myClass = new MyClass()
    


    这真的很有趣。让我试一试,看看它是否解决了我的问题:)
    MyClass = require('./myclass')
    myClass = new MyClass()