2015-04-20 11 views
26

im devtool configuration docs sie sagen:Was bedeutet "Pragma-Stil" im Webpack?

Vorfixieren @, # oder # @ eine Pragma Stil erzwingen. (Standardeinstellung ist #, empfohlen)

was bedeutet das?

+0

Dies bezieht sich auf einen C-Vorprozessor. Es gibt dem Compiler nur mehr Hinweise, was er tun soll. – erip

+0

Hallo Erip, könnten Sie mich auf Informationen darüber hinweisen? fand nichts auf Google .. –

Antwort

17

Verschiedene Browser benötigen unterschiedliche Formate für die Angabe von Quellkarten. Wenn Ihr Browser keine Quellkarten für Webpack-Dateien anzeigt, können Sie diese Option ändern, um sie mit Ihrem Browser kompatibel zu machen.

+0

Vielen Dank für Ihre schnelle Antwort, Sirlancelot. Ich googelte "Quellmaps Pragma-Stil" und fand nichts darüber. könnten Sie mich auf einige Informationen darüber hinweisen? –

+2

Die einzige Information, die ich wirklich darüber finden konnte, ist hier: http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-howwork – matpie

18

Um ein wenig expliziter zu sein, ist das "Pragma", auf das verwiesen wird, eine Sequenz von Zeichen, die Metadaten an den Browser anzeigen. In diesem Fall teilen die Metadaten dem Browser mit, wo er die Quellkartendatei abrufen soll, sollte er sich entscheiden, sie zu laden (z. B. wenn der Benutzer die Browser-Entwicklungswerkzeuge öffnet).

Wie in der Verbindung von SirLancelot angegeben, ist das Standardformat für die Pragma Kommentar der folgenden Form zu verwenden, mit //# Start:

In der letzten Versionen von Webpack, wenn Sie das tun Geben Sie kein Pragma-Zeichen in Ihrer devtool Einstellung an, dann wird standardmäßig das Zeichen # nach den Kommentarzeichen verwendet, wie oben gezeigt.

In älteren Versionen von Webpack obwohl den verwendeten Pragma Charakter @ auf Standard, der in einem Kommentar der Form führen würde:

//@ sourceMappingURL=/path/to/file.js.map

Mit der //@ Form in einem aktuellen Browser führt in eine Verwarnungswarnung in der Browser-Konsole (zumindest in Chrome)

Wenn Sie einen älteren Browser zu unterstützen, können Sie den Standard Pragma außer Kraft setzen, indem Sie Ihre devtool Einstellung mit dem gewünschten Zeichen, zum Beispiel prefixing:

devtool: "@source-map"

oder setzen explizit auf # mit:

devtool: "#source-map"

aber es ist saubersten IMO nur das Präfix Zeichen auslassen und läßt Webpack den Standard von spezif hinzufügen Ying als:

devtool: "source-map"

+0

Danke, das ist eine viel hilfreichere Antwort. – Elad