coffeescript では、@
シンボルを定義の先頭に追加することで、オブジェクトまたはクラスをグローバル名前空間に割り当てることができます。
例えば
class @Dog #This is now available via window.Dog due to the @
constructor : () ->
@
しかし、ウィンドウの代わりにシンボルを別のオブジェクトに割り当てる方法はありますか?
私が試したとき@ = {}
、私は得ましたerror: unexpected =
これにより、オブジェクトを常に名前空間として定義できますが、後でどの名前空間であるかについて考えを変えることができます。ケースバイケースでエクスポートを回避できます。テスト中に @ をグローバルに設定し、デプロイ時に別の名前空間に設定できます。
より良いアプローチ、または同様の目標を達成するための別の方法があれば、それも素晴らしいでしょう!