2012-05-04 4 views
1

私はサーバー上でjavascriptを生成しています。このスクリプトのPHPソースコードを実行するためにGoogle Clousure Compilerを実行したいと考えています。Google Closure Compilerで部分的にスキップする部分

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

最適化をスキップするようにコンパイラに指示する方法がある場合は、どうしようもありませんか?正規表現のようにスキップ:

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

敬具、

ニクラス

答えて

6

クライアント側のJavaScriptをサーバー側のロジックから分離すると、コードの管理がずっと簡単になりました。今度は私のスクリプトを書いて、私のサーバー側の処理が初期化変数を出すようにします。

例 - サーバー側:このスタイルを使用して

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

、私のクライアント側閉鎖コンパイラで簡単にコンパイルのjavascript:

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

そして、私のクライアント側のJavaScriptで

3

あなたがこれを行うことができます:コンパイラは、文字列の内容には触れません

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

関連する問題