Partially skip sections with Google Closure Compiler

Solution 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.

Solution 2:

You can do this:

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

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