JavaScript 파일을 축소 할 때 오류의 줄 번호를 동적으로 가져올 수 있습니까? 모든 오류로 기록되는 순간 축소 된 JavaScript 파일의 오류 번호 얻기
라인에 당신이 개발/디버깅하는 동안 축소 된 코드를 사용하지 말아야 이유 0
1
A
답변
4
호 발생된다.
1
당신은 축소 코드를 아름답게 처리 할 수 있습니다. 크롬 관리자에서는 {}
버튼이며 "예쁜 프린트"라고합니다.
그러나이 코드를 아름답게해도 그것이 원래 코드를 존중한다는 것을 의미하지는 않습니다.
따라서 ThiefMaster은 다음과 같이 말합니다. 개발/디버깅 중에 축소 코드를 사용하지 마십시오.
1
축소 된 스크립트를 디버깅하려는 이유 중 하나는 클로저 컴파일러를 사용하여 최적화하고 최적화 프로세스가 버그를 일으킨 경우입니다. 당신이 뭔가를 할 수있는 스택 추적에서 열 (크롬, IE)를 공급하는 브라우저의 는 :
/*@const*/ //for closure-compiler
DEBUG=2 // 0=off, 1=msg:file:line:column, 2=msg:stack-trace
if(DEBUG){
/*@const @constructor*/
Object.defineProperty(window,'__stack__',{get:function(){
try{_ფ_()}catch(e){return e.stack.split(":")}
}})
/*@const @constructor*/
Object.defineProperty(window,'__file__',{get:function(){
var s=__stack__,l=s.length
return (isNaN(s[l-2]))?s[l-2]:s[l-3]
}})
/*@const @constructor*/
Object.defineProperty(window,'__line__',{get:function(){
var s=__stack__,l=s.length
return (isNaN(s[l-2]))?s[l-1]:s[l-2]
}})
/*@const @constructor*/
Object.defineProperty(window,'__col__',{get:function(){
var s=__stack__,l=s.length
return (isNaN(s[l-2]))?"NA":s[l-1]
}})
/*@const @constructor*/
Object.defineProperty(window,'LOG',{
get:function(){return out},
set:function(msg){if(DEBUG>1)out=msg+"\t-\t"+__stack__
else out=msg+" in file:"+__file__+" @ Line:"+__line__+", Column:"+__col__
console.log(out)}
})
}//end if(DEBUG)
사용법 : LOG="my message"
행 번호와 함께 "내 메시지"를 작성하고 콘솔하거나 파일로 마지막 로그를 얻을 수 alert(LOG)
당신은 (크롬 Node.js를) V8와 잡초로 더 얻을
/*@const @constructor*/ Object.defineProperty(this,'__stack',{get:function(){var o=Error['prepareStackTrace'],e=new Error,s;Error['prepareStackTrace']=function(_,s){return s},Error['captureStackTrace'](e,arguments['callee']),s=e['stack'],Error['prepareStackTrace']=o;return s}})
/*@const @constructor*/ Object.defineProperty(this,'__col__',{get:function(){return __stack[1]['getColumnNumber']()}})
/*@const @constructor*/ Object.defineProperty(this,'__eval_orig__',{get:function(){return __stack[1]['getEvalOrigin']()}})
/*@const @constructor*/ Object.defineProperty(this,'__file__',{get:function(){return __stack[1]['getFileName']()}})
/*@const @constructor*/ Object.defineProperty(this,'__func__',{get:function(){return __stack[1]['getFunctionName']()}})
/*@const @constructor*/ Object.defineProperty(this,'__function__',{get:function(){return __stack[1]['getFunction']()}})
/*@const @constructor*/ Object.defineProperty(this,'__is_constructor__',{get:function(){return __stack[1]['isConstructor']()}})
/*@const @constructor*/ Object.defineProperty(this,'__is_eval__',{get:function(){return __stack[1]['isEval']()}})
/*@const @constructor*/ Object.defineProperty(this,'__is_native__',{get:function(){return __stack[1]['isNative']()}})
/*@const @constructor*/ Object.defineProperty(this,'__is_top_level__',{get:function(){return __stack[1]['isTopLevel']()}})
/*@const @constructor*/ Object.defineProperty(this,'__line__',{get:function(){return __stack[1]['getLineNumber']()}})
/*@const @constructor*/ Object.defineProperty(this,'__method__',{get:function(){return __stack[1]['getMethodName']()}})
/*@const @constructor*/ Object.defineProperty(this,'__this__',{get:function(){return __stack[1]['getThis']()}})
/*@const @constructor*/ Object.defineProperty(this,'__type__',{get:function(){return __stack[1]['getTypeName']()}})
관련 문제
- 1. 다이얼 된 번호 정보 얻기
- 2. Grep 및 축소 된 javascript 무시
- 3. 전쟁에서 축소 된 JavaScript 파일 포함
- 4. Java 오류 : .class 파일의 잘못된 버전 번호 오류
- 5. 스크립트에서 삭제 된 파일의 파일 이름 얻기
- 6. Javascript/JQuery의 비동기지도/축소
- 7. 길게 축소 된 JavaScript 코드 (jCarousel)의 형식을 지정하는 도구
- 8. 이미 삭제 된 파일의 오류
- 9. 링크 된 파일의 MSBuild 오류
- 10. 카세트를 중지하여 JavaScript 파일 축소
- 11. jQuery 또는 JavaScript : 클라이언트 파일의 MIME 유형 얻기
- 12. main.asc (Flash Media Server)에서 오류 줄 번호 얻기
- 13. 전화 번호 및 모델 얻기
- 14. 는 얻기 연락 전화 번호
- 15. 그리드의 절대 행 번호 얻기
- 16. Windows에서 System.Windows.Controls.Layout.Toolkit 얻기 전화 번호
- 17. 라텍스 - 특정 문제 번호 얻기
- 18. gdb에서 중단 점 번호 얻기
- 19. ColorBox에서 현재 항목 번호 얻기
- 20. 파일의 Wine 경로 얻기
- 21. txt 파일의 내용 얻기
- 22. Excel 파일의 이름 얻기
- 23. 파일의 절대 경로 얻기
- 24. 파일의 특정 컨텐츠 얻기
- 25. 원격 txt 파일의 내용 얻기
- 26. 파일의 타임 스탬프를 변경하지 않고 축소 된 Javascript 파일을 웹 서버에 배포하는 방법은 무엇입니까?
- 27. 네임 스페이스 동적으로로드 된 javascript 파일의 내용
- 28. TreeView의 스타일 확장/축소 아이콘 얻기
- 29. 배치 : 텍스트 파일의 번호 재정렬
- 30. 얻기 오류
그리고 불을 지르고 및 공동가 자동으로 축소 된 코드를 아름답게 할 수있는 옵션이 있다면 ㅎ, 그것은 좋은 것입니다 수 있습니다 * 및 * 매핑 오류 위치 등 그 아름다운 코드의 올바른 줄로 – ThiefMaster
나는 이것이 개발 중에 있다고 가정하지 않을 것이다. 나는 여기에 묻는 사람과 정확히 같은 질문을 가지고있다. 내 코드는 축소 될 때까지 잘 작동합니다. –