Ich habe einen zweistufigen Kompilierungsprozess für meine Webanwendung. Erstens kompiliere ich CoffeeScript-Dateien in JavaScript-Dateien [1]. Dann werden die JavaScript-Dateien (sowohl solche, die von CoffeeScript kommen, als auch externe, wie von AngularJS-Templates von grunt-angular-templates
erzeugt) vom Google Closure Compiler [2] in eine einzige minimierte Datei kompiliert.Kombinieren Sie Quellkarten zweier Kompilierungsschritte
CoffeeScript ---[1]---> JavaScript --[2]--\
\->
AngularJS templates --> JavaScript ----------> single minimized JS file
/->
other JS files -------/
Beide Schritte [1] und [2] erzeugen Quellkarten.
Ist es möglich, diese Quellkarten in einer einzigen Quellkarte zu kombinieren, mit der ich CoffeeScript-Dateien von einem Webbrowser aus debuggen kann, der die minimierte JS-Datei ausführt?
Mit anderen Worten: Lassen Sie sagen, dass die Quelle Karte [1] durch eine Funktion dargestellt wird:
f(position in CoffeeScript) = position in JavaScript
und die Quelle Karte [2] durch eine Funktion dargestellt wird:
g(position in JavaScript) = position in minimized JS
I Möchte eine Quellkarte erhalten, die durch eine Funktionszusammensetzung dargestellt wird:
h(position in CoffeeScript) = g(f(position in CoffeeScript)) =
= position in minimized JS
Nun, in meinem Anwendungsfall interessiere ich mich nicht wirklich für die Zwischendatei, es ist nur ein Nebenprodukt ... jedenfalls sagt mir Ihre Antwort zumindest, dass diese Idee mit der aktuellen Implementierung von Quellkarten technisch machbar ist, und es gibt nur kein Werkzeug, das genau diese Operation ausführt. Vielen Dank. – liori
Sieht aus wie 'Grunt' kann eine 2-stufige Karte handhaben, zumindest im Falle der Übergabe eines einzigen kompilierten' Coffeescript' durch 'uglify' - https://github.com/gruntjs/grunt-contrib-uglify – hpaulj
Von der Seitenleiste : http://stackoverflow.com/questions/15964826 – hpaulj