Ich verwende es6 Module in meiner Anwendung, und ich stoße auf ein Problem beim Debuggen in meinem Chrom-Inspektor. Wenn ich so etwas wie die folgenden in meinem Code tun:es6 babelify Änderungen Variable Name, Variable kann nicht im Inspektor gefunden werden
import 'widget' from './widget'
class SomeClass {
componentDidMount(){
debugger; // widget is not defined here according to chrome console!
widget.doSomething();
}
}
in der kompilierten Quelldatei sucht, die der Browser zu lesen ist, sehe ich, dass die babelify Transformation, die auf die ursprünglichen js Dateien angewendet wurde, hat die ‚Widget‘ umbenannt Variable in etwas wie '_widget_Js'. Allerdings habe ich die JS zusammen mit Quellkarten kompiliert, so dass der Chrom-Inspektor die ursprünglichen JS-Dateien zeigt, aber nicht erkennt, wenn ich auf die ursprüngliche 'Widget'-Variable referenziere (tut siehe' _widget_Js 'Variable, aber ich möchte die kompilierte übersetzte Variable nicht jedes Mal nachsehen müssen, wenn ich debugge!).
Irgendwelche Vorschläge, wie ich Chrom erhalten kann, um den ursprünglichen Importnamen zu erkennen? Wenn es hilft, kann ich weitere Informationen zu meinem Setup bereitstellen (gulp + browserify + babelify). Vielen Dank!
Sie haben keine Lösung, mit der es sofort funktioniert, aber Sie finden den geänderten Namen im Bereich "Bereich" des Inspektors. Wenn Sie in Ihrem Code einen Verweis darauf haben ("let this.widget = widget"), dann können Sie ihn (normalerweise) als '_this.widget' finden. –
Sie haben einen Syntaxfehler in der ersten Zeile. Es sollte "Widget importieren von ..." sein. – Bergi