2012-05-01 11 views
7

많은 양의에서 주석을 제거하기 위해 찾는 것은 내이 딜레마이다 : 나는 놈이 (현재 인턴과 두 개의 전자 상거래 사이트 유지하는 데 도움) 자바 스크립트에서 오전여기에 자바 스크립트 파일

. 나는 최근에 자바 스크립트 라이브러리에서 발생하는 모든 주석을 제거하도록 지정되었습니다 (25,000 개 이상의 주석입니다!). 분명히 코드를 파싱하여 // 또는 */뒤에 나오는 모든 문자를 제거 할 수있는 함수 나 일부 기존 프로그램을 찾고 싶습니다.

저는 Yui, jscompressor와 같은 온라인에서 사용할 수있는 몇 가지 minifier를 살펴 보았습니다. com 및 uglifyJS를 사용하면이 작업을 자동화 할 수 있지만 몇 가지 문제가 있습니다. 너무 공격적이거나 (변수 이름 단축, 모든 공백 제거 등) 또는 한 번에 한 줄 또는 한 파일을 제공해야합니다. 문자 그대로 1000 개의 .js 파일을 다루고 있습니다.

추가 세부 사항 : 우리의 개발 환경은 Eclipse IDE 및 xammp입니다. 언어는 html, php, css입니다.

내 요구 사항에 맞는 프로그램의 권장 사항은 훌륭합니다!

+14

왜 지구에 당신이 주석을 제거하지만, 작게를하지 할 것 http://blog.ostermiller.org/find-comment? – Mathletics

+2

hm. 라인 엔딩에 대해 reg ex를 스크립팅 할 수 있습니까? PERL은 확실히 그렇게 할 수 있습니다 (제 생각 엔). –

+2

http://jscompress.com/는 당신을 위해 그것을해야합니다. js와 css 둘 다 온라인으로 다른 minifier가 있습니다. 들여 쓰기와 주석으로 원본 파일을 유지하고 제작할 파일을 축소하는 것이 좋습니다. – MilkyWayJoe

답변

-1

사실, javascript 문서에서 모든 주석을 제거하는 regexp를 만드는 것은 쉽지 않습니다.

기본 솔루션을 사용하는 것입니다

 yourJavascriptString.replace(/\/\*.+?\*\/|\/\/.*(?=[\n\r])/g, ''); 

불행하게도 항상 작동하지 않습니다. 보다 완벽한 솔루션이 필요한 경우 다음 웹 사이트를 방문하십시오. http://james.padolsey.com/javascript/removing-comments-in-javascript/

+0

-1이 항상 작동하지 않을 수도 있고 닫히지 않을 수도 있기 때문에 -1입니다. – djechlin

2

uglifyjs를 자세히 살펴보십시오. 기본적으로 압축하거나 mung을하지 않으며 (각각 -c 및 -m 옵션을 지정해야합니다), 어떤 종류의 압축을하는지에 대한 정규 표현식을 지정하는 수준까지 어떤 종류의 압축을 선택할 수 있습니다. 제거 할 주석. 그리고 만약 당신이 그렇게 생각한다면, 당신은 나가는 길에 꽤 인쇄 할 수 있습니다. 그래서 그것을 사용하여 문제가 무엇입니까?

0

나는이 질문이 몇 년 전이라는 것을 알고있다. 그러나 내가 발견 한 모든 자바 스크립트 주석 스트리퍼는 스트립하려고하는 2.6mb Javascript 파일을 처리 할 수 ​​없었다.

난 다음, 다음 코드를 jsfiddle을 만든 텍스트 상자에 2.6MB 파일을 붙여 그리고 그것은 나를 위해 일한 :
$("textarea").val($("textarea").val().replace(/\/\*([^*]|[\r\n]|(\*+([^*\/]|[\r\n])))*\*+\//g,"")); /*remove these comment types*/ 

$("textarea").val($("textarea").val().replace(/\/\/.*/g,"")); // remove these comment types 

https://jsfiddle.net/40okonqo/

은 사람을 도움이되기를 바랍니다.

신용 : 나는 정규 표현식을 돕기 위해 여기에있는 정보를 사용 :

관련 문제