2017-12-12 5 views
0

Wie behandelt Webpack v1 das Feld browser in einem installierten Paket package.json. Ich kann nirgendwo eine Dokumentation dafür finden.Was ist das Verhalten von Webpack 1 in Bezug auf das Browserfeld in package.json?

Ich benutze Gatsby.js, die Webpack v1 zum Kompilieren verwendet. Eines der Pakete, die ich verwende, verwendet das Feld browser in seinem package.json und zeigt es auf einige nicht übertragene ES6-Code.

Soweit ich sehen kann, kompiliert Webpack diesen Code (anstelle des transpiled Code, auf den das Feld lib zeigt) in commons.js, was zu Laufzeitfehlern wegen der ES6 Import/Export-Deklarationen führt.

Mein Problem ist, dass das problematische Paket eine Abhängigkeit von einem anderen Paket ist, das ich verwenden muss. Die einzige Lösung, die ich bisher gefunden habe, ist, das Feld browser aus dem Paket package.json zu entfernen, aber offensichtlich ist dies keine praktikable Antwort in Zukunft.

Antwort

0

Die Konfigurationseinstellung kann in resolve.packageMains (docs) gefunden werden, die zu resolve.mainFields (docs) ab Webpack 2+ umbenannt wurde.

Das Verhalten ist, dass das Feld browser verwendet wird, wenn vorhanden, aber mit resolve.packageAlias übersteuert werden kann.

Verwandte Themen