2013-06-12 4 views
0

Я использую компилятор Google Closure.Флаги времени компиляции

Я пишу приложение для использования в Интернете и для использования в упакованном 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 достаточно, но он все еще может использовать те же самые определения, которые они делают, таким образом, его код потенциально может быть использован b y пользователь библиотеки. – lennel

Смежные вопросы