编译时标志

时间:2013-06-12 04:13:30

标签: javascript google-closure-compiler

我正在使用Google Closure Compiler。

我正在编写一个供网络使用的应用,以及在Chrome打包应用中使用。 99%的代码是相同的。在本地存储等方面存在一些差异。

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

有什么好的设置允许(理想情况下)编译应用程序的编译时选择。我看到有一个@define声明。应该在这里使用吗?如果是这样,怎么样?

(我记得像现有的COMPILED标志。)

1 个答案:

答案 0 :(得分:3)

@define是这里的方式,但是为什么不把它绑在一起,而不是使用你自己的CHROME_APP http://docs.closure-library.googlecode.com/git/closure_goog_useragent_useragent.js.html

另外,既然您使用本地商店作为示例,请查看ydn库(https://bitbucket.org/ytkyaw/ydn-db/),他的编译级别没问题,但是没有凝固我们的(我们系统中的所有内容都设置为最具侵略性的)