使用Google Closure Compiler部分跳过部分

时间:2012-05-04 12:53:44

标签: google-closure-compiler

我正在服务器上生成一个javascript,并希望运行Google Clousure Compiler,以便在脚本的php源代码上运行。

var jsvar = <?=$var ? true : false ?>;

如果有任何方法告诉编译器跳过优化,只是徘徊?像正则表达式跳过:

/<\?=.*?\?>/

致以最诚挚的问候,

的Niclas

2 个答案:

答案 0 :(得分:6)

我发现当我将客户端JavaScript与服务器端逻辑分开时,我的代码更容易维护。现在我编写脚本,以便我的服务器端处理发出初始化变量。

示例 - 服务器端:

<?php echo 'var mynamespace = {}; mynamespace.jsvar = "' . $var . '";'; ?>

在我的客户端javascript:

var mynamespace = window['mynamespace'] || {};
function MyFunction() {
  alert(mynamespace['jsvar']);
}
MyFunction();

使用这种风格,我的客户端javascript可以使用Closure-compiler轻松编译。

答案 1 :(得分:4)

你可以这样做:

var jsvar = eval("<?=$var ? true : false ?>");

编译器不会触及字符串的内容。