部分跳过与谷歌关闭编译器的部分部分跳过与谷歌关闭编译器的部分(Partially skip sect

2019-05-13 20:37发布

我喜欢生成服务器上的JavaScript和想运行谷歌Clousure编译器要在脚本的PHP源代码跑。

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

只是游荡,如果有在告诉编译器跳过的优化调度什么办法? 像正则表达式跳跃:

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

最好的祝福,

尼克拉斯

Answer 1:

我发现,我的代码更易于维护,当我从我的服务器端逻辑分开我的客户端JavaScript。 现在,我写我的剧本,使得我的服务器端的处理发出初始化变量。

示例 - 服务器端:

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

在我的客户端JavaScript:

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

使用这种风格,我的客户端JavaScript用封编译器编译容易。



Answer 2:

You can do this:

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

The compiler won't touch the contents of the string.



文章来源: Partially skip sections with Google Closure Compiler