JavaScript 용으로 다른 난독 화 도구를 사용해 보았지만 결과를 사용할 때 작동하지 않습니다.자바 스크립트 코드를 난독 화하기 전에 필수 조건이 있습니까?
모든 주석, 한 줄 주석 및 여러 줄 주석을 제거하고 적절한 세미콜론과 적절한 서식을 지정하기 위해 코드를 아름답게 꾸몄습니다.
내 질문 : 코드를 난독 화하기 전의 전제 조건은 무엇입니까?
JavaScript 용으로 다른 난독 화 도구를 사용해 보았지만 결과를 사용할 때 작동하지 않습니다.자바 스크립트 코드를 난독 화하기 전에 필수 조건이 있습니까?
모든 주석, 한 줄 주석 및 여러 줄 주석을 제거하고 적절한 세미콜론과 적절한 서식을 지정하기 위해 코드를 아름답게 꾸몄습니다.
내 질문 : 코드를 난독 화하기 전의 전제 조건은 무엇입니까?
디버깅 할 때 코드에 오류나 경고가 없으면 난독 화해야합니다. JavaScript 구현을 지원하는지 확인하기 위해 사용중인 도구에 대해 자세히 알아보십시오.
코드를 다음과 같이 상대적으로 분리하여 실행할 수 있다면, 아주 잘 당황 할 수 있어야한다 ...
예 :
(function(window, $){
//your code here
//create global namespace - expose classes/methods
window.MyProject = {
someMethod: someInternalMethodToExpose
SomeClassName: SomeClass
};
//internal stuff
function someInternalMethodToExpose() {
...
}
//constructor function
function SomeClass() {
...
}
SomeClass.prototype.someMethod = function() {
...
}
}(window || this, jQuery));
문제는 jQuery, joHTML을 사용하여 HTML5 앱을 만들고 내 자신이 자바 스크립트 클래스를 만들었다는 것입니다. 나는 하나의 파일에 그것을 가지고있다. 그것이 난독 화 될 때 난독 화하지 않고 작업하며, 작동하지 않습니다. 나는 순수한 자바 스크립트로 코딩해야한다고 생각한다. – smkrn110
일반적인 amd 패턴을 따르는 경우, 난독화할 수 있어야합니다. * 단일 파일에 jQuery를 포함하여 필요한 모든 JS가 * ALL *있는 경우 아마 google closure 컴파일러를 사용하여 많이 최적화 된 버전을 만드십시오. 이는 충분히 난독 화가되어야합니다. – Tracker1
당신의 구문이 완벽해야합니다. IE에서로드하면, 그렇지 않으면 실패합니다. 다른 브라우저는 가끔씩 작동합니다. 쉼표, 누락 된 세미콜론 등과 같은 것들은 기술적으로 유효하며 (IE에서는 실패 할 것입니다), 명령문이 한 줄에 있기 때문에 압축 될 때 실패합니다. – Derek
어느 obfuscators? – recursive
@Derek이 말한 내용을 확장하려면 후행 쉼표가 ES5부터 유효합니다. ES5 사양 이전의 고대 브라우저 (예 : IE7 이하)는 쉼표 뒤에 오류가 발생합니다. 세미콜론이 누락 된 것을 의미하는 것이 확실하지 않은지 - ASI는 언어의 강력한 측면입니다. 하지만 여러 줄 반환과 같은 일부 경우에는 오류가 발생할 수 있습니다. –