Partially skip sections with Google Closure Compiler

醉酒当歌 提交于 2019-12-17 06:56:11

问题


I'm generating a javascript on the server like and would like to run Google Clousure Compiler to be ran on the php source code of the script.

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

Just wandering if there is any way in telling the compiler to skip optimazation of ? Like a regexp skip:

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

Best regards,

Niclas


回答1:


I have found that my code is much easier to maintain when I separate my client-side JavaScript from my server-side logic. Now I write my scripts such that my server-side processing emits initialization variables.

Example - Server Side:

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

And in my client-side javascript:

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

Using this style, my client-side javascript compiles easily with Closure-compiler.




回答2:


You can do this:

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

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



来源:https://stackoverflow.com/questions/10449195/partially-skip-sections-with-google-closure-compiler

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!