Webpack so konfigurieren, dass Browser-Debugging zugelassen wird
Lesezeit: 4 Minuten
Ich bin neu bei Webpack und konvertiere eine vorhandene Webanwendung, um sie zu verwenden.
Ich verwende Webpack, um mein JS zu bündeln und zu verkleinern, was großartig ist, wenn es bereitgestellt wird, aber das macht es sehr schwierig, während der Entwicklung zu debuggen.
Normalerweise verwende ich den integrierten Debugger von Chrome, um JS-Probleme zu debuggen. (Oder Firebug auf Firefox). Bei Webpack ist jedoch alles in einer Datei untergebracht, und es wird schwierig, mit diesem Mechanismus zu debuggen.
Gibt es eine Möglichkeit, die Bündelung schnell ein- und auszuschalten? oder die Minimierung ein- und ausschalten?
Ich habe nachgesehen, ob es eine Skript-Loader-Konfiguration oder eine andere Einstellung gibt, aber es scheint nicht offensichtlich zu sein.
Ich habe noch nicht die Zeit gehabt, alles so umzuwandeln, dass es wie ein Modul funktioniert und verwendet werden muss. Also verwende ich einfach das Muster require(“script!./file.js”) für mein Laden.
Haben Sie am Ende eine Lösung für dieses Problem gefunden? Ich ziehe es auch vor, die JS-Konsole zu verwenden, um verfügbare Variablen zu betrachten. Mein Hauptproblem ist, dass Webpack all diese Variablen im Modul verbirgt, sodass sie nicht mehr zugänglich sind
– Benutzer1496984
29. Mai 2015 um 2:57 Uhr
Nie wirklich eine Lösung gefunden, also haben wir die Verwendung von Webpack leider abgebrochen.
– Jim
22. Juni 2015 um 21:21 Uhr
Was benutzt du jetzt? Zum Zeitpunkt des Schreibens scheint Webpack immer noch das beliebteste Build-Tool zu sein, das ich finden kann.
– Richard
27. Oktober 2015 um 10:46 Uhr
Sie können verwenden Quellkarten um die Zuordnung zwischen Ihrem Quellcode und dem gebündelten/minifizierten Code beizubehalten.
Webpack bietet die Entwicklungstool Option zum Verbessern des Debuggens im Entwicklertool, indem Sie einfach eine Quellzuordnung der gebündelten Datei für Sie erstellen. Diese Option kann über die Befehlszeile oder in Ihrem verwendet werden webpack.config.js Konfigurationsdatei.
Unten finden Sie ein erfundenes Beispiel mit der Befehlszeile zum Generieren der gebündelten Datei (Bundle.js) zusammen mit der generierten Quellzuordnungsdatei (bundle.js.map).
var hello = require('./hello.js');
document.body.innerHTML += 'It works ' + hello();
hallo.js
module.exports = function () {
return 'Hello world!';
};
Wenn Sie öffnen index.html in Ihrem Browser (ich verwende Chrome, aber ich denke, es wird auch in anderen Browsern unterstützt), sehen Sie auf der Registerkarte Quellen dass Sie die gebündelte Datei unter der Datei:// Schema und die Quelldateien unter dem Special webpack:// planen.
Und ja, Sie können mit dem Debuggen beginnen, als ob Sie den ursprünglichen Quellcode hätten! Versuchen Sie, einen Haltepunkt in eine Zeile zu setzen und die Seite zu aktualisieren.
bundle.map zeigt auf die js-Datei, aber was ist, wenn die eigentliche js-Datei auch eine Karte zu sagen wir tsx oder ts hat?
– Andrej K
9. Februar 2017 um 18:51 Uhr
m-farhan
Ich denke, es ist besser, Ihr Projekt im Produktions- und Entwicklungsmodus einzurichten https://webpack.js.org/guides/production/
Es enthält auch, wie Sie Ihren Code dem Debuggen zuordnen
devtool: 'inline-source-map'
Wie bereits erwähnt, sind Quellkarten sehr nützlich.
Aber manchmal kann die Auswahl der zu verwendenden Quellkarte mühsam sein.
Chrome hat auch eine Formatierungsoption im Debugger. Es hat nicht alle Informationen, die eine normale Quelldatei haben würde, aber es ist ein guter Anfang, außerdem können Sie Haltepunkte setzen. Die Schaltfläche, auf die Sie klicken, befindet sich unten links im ersten Screenshot und sieht aus wie {}.
Es ist ein Verschönerer, der Javascript deminifiziert. Unten finden Sie eine Liste mit verschiedenen Plugins und Erweiterungen für Browser. Probieren Sie sie aus.
Sie könnten interessiert sein FireFox-Entminifier soll Ihr Javascript deminifizieren und formatieren, wenn es vom Server abgerufen wird.
Das Deminifizieren ist nicht dasselbe wie das Deaktivieren des Minifizierens, da Kommentare immer noch entfernt werden, Zeilennummern nicht mehr übereinstimmen und Variablennamen nicht dieselben sind. Davon abgesehen ist es besser als nichts.
– Jim
7. Januar 2015 um 15:16 Uhr
Das Deminifizieren ist nicht dasselbe wie das Deaktivieren des Minifizierens, da Kommentare immer noch entfernt werden, Zeilennummern nicht mehr übereinstimmen und Variablennamen nicht dieselben sind. Davon abgesehen ist es besser als nichts.
– Jim
7. Januar 2015 um 15:16 Uhr
12697000cookie-checkWebpack so konfigurieren, dass Browser-Debugging zugelassen wirdyes
Haben Sie am Ende eine Lösung für dieses Problem gefunden? Ich ziehe es auch vor, die JS-Konsole zu verwenden, um verfügbare Variablen zu betrachten. Mein Hauptproblem ist, dass Webpack all diese Variablen im Modul verbirgt, sodass sie nicht mehr zugänglich sind
– Benutzer1496984
29. Mai 2015 um 2:57 Uhr
Nie wirklich eine Lösung gefunden, also haben wir die Verwendung von Webpack leider abgebrochen.
– Jim
22. Juni 2015 um 21:21 Uhr
Was benutzt du jetzt? Zum Zeitpunkt des Schreibens scheint Webpack immer noch das beliebteste Build-Tool zu sein, das ich finden kann.
– Richard
27. Oktober 2015 um 10:46 Uhr