2012-05-04 2 views
1

저는 서버에서 자바 스크립트를 생성하고 있으며 Google Clousure 컴파일러를 실행하여 스크립트의 PHP 소스 코드에서 실행되도록하고 싶습니다.Google Closure 컴파일러로 부분 건너 뛰기

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

컴파일러에게 optimazation을 건너 뛰도록 말하면 어떤 방법이 있을까요? regexp와 같이 생략 :

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

안부,

니클라스

답변

6

내 클라이언트 측 JavaScript를 서버 측 로직과 분리 할 때 내 코드를 유지하는 것이 훨씬 쉽다는 것을 알게되었습니다. 이제 스크립트를 작성하여 서버 측 프로세싱이 초기화 변수를 내 보냅니다.

예 - 서버 측 :이 스타일을 사용하여

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

, 내 클라이언트 측 폐쇄 컴파일러와 함께 쉽게 컴파일 자바 스크립트 :

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

그리고 내 클라이언트 측 자바 스크립트

.

3

당신은이 작업을 수행 할 수 있습니다 컴파일러는 문자열의 내용을 만지지 않습니다

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

.