在coffeescript中,您可以通過將定義與@
符號相加來爲全局命名空間分配一個對象或類。將@分配給單獨的對象以便於命名空間
例如
class @Dog #This is now available via window.Dog due to the @
constructor :() ->
但有好歹給@
符號分配的,而不是窗口到另一個對象,?
當我試圖@ = {}
,我error: unexpected =
這將允許你總是定義你的對象是一個命名空間,但是改變了主意什麼命名空間是在稍後的時間。它可以讓你避免以個案爲基礎的出口。您可以在測試時將@設置爲全局,然後在部署時將其設置爲備用名稱空間。
如果有更好的方法,或者實現類似目標的另一種方法,那也將非常棒!
我喜歡這種方式謝謝。我最終在代碼的頂部定義了一個簡單的對象'scope = @',從那個文檔中的所有東西都被定義爲'scope.Dog'。您可以隨時輕鬆更改所有對象的名稱空間,並且您的代碼的任何讀者都可以輕鬆地看到發生了什麼。 將'@ scope'作爲一個函數(而不是對象)來定義我缺少的優點嗎? –