0

サーバーとブラウザの両方で使用したいCoffeeScriptのクラスがあります。

私が必要とするサーバーのために

class classname
    constructor: (@arg)->
        #code

module.classname = classname

しかし、私が必要とするブラウザのために

class classname
    constructor: (@arg)->
        #code

window.classname = classname

1つのファイルだけを維持する必要があるようにする方法はありますか?

4

1 に答える 1

2

一般的なケースでは、requirejsbrowserifyなどのライブラリを使用する必要がありますが、あなたの場合は単純に次のように書くことができます:

class classname
  constructor: (@arg)->
    #code

module?.classname = classname
window?.classname = classname

このコードは、moduleおよびwindow変数を変更する前にその存在を確認します。

于 2013-06-06T06:02:46.280 に答える