2013-06-12 236 views
0

我正在使用Google Closure編譯器。編譯時標誌

我正在編寫一個應用程序供web使用和在Chrome打包應用程序中使用。 99%的代碼是相同的。當涉及本地存儲等事物時,存在一些差異。

if(CHROME_APP) { 
    ... 
} else { 
    window.localStorage['something'] = true; 
} 

什麼是一個很好的設置,以允許(理想的)編譯時選擇編譯應用程序。我看到有一個@define聲明。這應該用在這裏嗎?如果是這樣,怎麼樣?

(我指的是像現有的編譯標誌。)

回答

3

@define是去這裏的路,但不是用自己的CHROME_APP,爲什麼不配合它在 http://docs.closure-library.googlecode.com/git/closure_goog_useragent_useragent.js.html

另外,由於您使用本地商店作爲示例,請查看ydn庫(https://bitbucket.org/ytkyaw/ydn-db/),他的編譯級別可以,但是沒有與我們的凝膠(我們系統中的所有內容都設置爲最具侵略性)

+0

fair夠了,但他仍然可以使用與他們相同的定義,這樣他的代碼就可能被使用是圖書館用戶。 – lennel