编译时的旗帜

Compile-time flags

本文关键字:旗帜 编译      更新时间:2023-09-26

我正在使用Google Closure Compiler.

我正在编写一个用于web使用和用于Chrome打包应用程序的应用程序。99%的代码是相同的。当涉及到像本地存储这样的事情时,有一些不同之处。

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

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

(我想到的是类似于现有的编译标志)

@define是这里的方法,但不是使用您自己的CHROME_APP,为什么不将它与http://docs.closure-library.googlecode.com/git/closure_goog_useragent_useragent.js.html

也,因为你使用本地存储作为一个例子,看看ydn库(https://bitbucket.org/ytkyaw/ydn-db/),他的编译级别是ok的,但与我们的不一致(我们系统中的所有内容都设置为最激进)