웹 응용 프로그램을위한 2 단계 컴파일 프로세스가 있습니다. 먼저 CoffeeScript 파일을 JavaScript 파일로 컴파일합니다 (1). 그런 다음 JavaScript 스크립트 파일 (CoffeeScript의 파일과 AngularJS 템플릿에서 생성 한 파일 (grunt-angular-templates
))은 Google Closure Compiler [2]에 의해 하나의 최소화 된 파일로 컴파일됩니다.두 컴파일 단계의 소스 맵 결합
CoffeeScript ---[1]---> JavaScript --[2]--\
\->
AngularJS templates --> JavaScript ----------> single minimized JS file
/->
other JS files -------/
[1]과 [2] 모두 소스 맵을 생성합니다.
최소 원본 JS 파일을 실행하는 웹 브라우저에서 CoffeeScript 파일을 디버깅 할 수있는 단일 원본 맵에 이러한 원본 맵을 결합 할 수 있습니까? 환언
는 :
g(position in JavaScript) = position in minimized JS
I : [2]의 함수에 의해 표현된다
f(position in CoffeeScript) = position in JavaScript
소스 맵 : 소스 맵 [1]의 함수에 의해 표현된다 생각한 함수 구성에 의해 표현되는 소스 맵을 얻고 싶습니다.
h(position in CoffeeScript) = g(f(position in CoffeeScript)) =
= position in minimized JS
글쎄, 내 경우에는 중간 파일에 대해서는별로 신경 쓰지 않는다. 단지 부산물 일 뿐이다. 어쨌든이 아이디어는 소스 맵의 현재 구현으로 기술적으로 실현 가능하다. 이 작업을 정확하게 수행하는 도구는 없습니다. 고맙습니다. – liori
"Grunt"는 최소한 "uglify"를 통해 하나의 컴파일 된 'Coffeescript'를 전달하는 경우 2 단계 맵을 처리 할 수 있습니다. - https://github.com/gruntjs/grunt-contrib-uglify – hpaulj
사이드 바에서 : http://stackoverflow.com/questions/15964826 – hpaulj