Ich versuche, mit webpack meine Lieferantenskripte getrennt von meinen Anwendungsskripten zu bündeln.
index.js
%Vor%webpack.config.js
%Vor%Ergebnisse
%Vor%
Wenn ich jetzt index.js
index.js
%Vor%Ergebnisse
%Vor%
Beide Hashes ändern sich, obwohl ich nur die Indexdatei aktualisiert habe.
Der Unterschied zwischen den beiden Herstellerdateien ist
vendor.72c95e21a8d7096d53bc.js
script.src = __webpack_require__.p + "" + chunkId + "." + ({"0":"app"}[chunkId]||chunkId) + "." + {"0":"3437c5da57e0c6671675"}[chunkId] + ".js";
vendor.0e76f9c86cbe02606265.js
script.src = __webpack_require__.p + "" + chunkId + "." + ({"0":"app"}[chunkId]||chunkId) + "." + {"0":"c724350371b50a9afeb2"}[chunkId] + ".js";
Nach einigen Nachforschungen fand ich den folgenden Artikel, der erklärt, dass Webpack ein Chuck-Manifest erzeugt, das die Chunk-Identifikatoren enthält, die im Eintragsblock platziert sind. Dies erklärt das obige Diff. Die Lösung besteht darin, das Chuck Manifest in eine separate Datei zu extrahieren.
index.js
%Vor%webpack.config.js
%Vor%Ergebnisse
%Vor%
Wenn ich jetzt index.js
index.js
%Vor%Ergebnisse
%Vor%
Noch einmal ändern sich beide Hashes, obwohl ich nur die Indexdatei aktualisiert habe.
Diesmal gibt es jedoch keine Unterschiede zwischen den beiden Herstellerdateien
Gibt es einen Grund, warum das obige Szenario nicht funktioniert, oder gehe ich dieses Problem grundsätzlich falsch an?
Gibt es einen einfacheren Weg mit Webpack, um das zu erreichen, was ich versuche zu tun, denn selbst wenn ich den obigen Schritt zum Laufen bringe, muss ich das Manifest lesen und es dann in meine index.html-Seite einfügen?
Es scheint ein Problem mit der neuesten Webpack-Version zu sein. Bitte lesen Sie das Thema Ссылка
So können Sie sich jetzt nicht auf [chunkhash] verlassen, einfachste Lösung ist es, einen benutzerdefinierten Hash zu verwenden, etwa <script src="vendor.js?v=001">
, und jedes Mal beim Backend zu ändern, wenn Sie freigeben.
Probieren Sie Ссылка aus, das scheint gut zu funktionieren.
erstes Gebäude
js/app-379075f0ea0b0e0148f3.js 2.19 kB 0 [emitted] app
js/react-da22e98119ee46232ff7.js 747 kB 1 [emitted] react
Rebuild, nur App geändert
js/app-fc7ca0df6dfcf7ca77f7.js 2.21 kB 0 [emitted] app
js/react-da22e98119ee46232ff7.js 747 kB 1 [emitted] react
Tags und Links webpack