Dies ist eine saubere Art und Weise, was Sie tun mögen:
das Script-Tags für ReactDOM enthalten, die an dem CDN-Links (oder wo auch immer Sie ReactDOM von erhalten mag) auf der Ausgabe HTML-Seite: <script src="https://unpkg.com/[email protected]/dist/react-dom.min.js"></script>
die externals
Eigenschaft in Ihrem webpack config webpack jetzt lassen, dass ReactDOM von einer externen Quelle kommen, anstatt etwas, das webpack im Projektverzeichnis finden. In diesem Fall in Ihrer webpack.config.js
:
module.exports = {
// other configs
externals: {
'react-dom': 'ReactDOM'
}
}
Der Name auf der linken Seite des Dickdarms ist, wie Sie ReactDOM in Ihrem Code verweisen. Die rechte Spalte ist die globale Variable, die das Paket an window
anfügt.
In Ihrem Code in bundle.js
, import
ReactDOM wie folgt:
import * as ReactDOM from 'react-dom'
In Ihrem Code außerhalb des Bündels, verwenden ReactDOM als globale Variable
ReactDOM.render(/*some component */)
Sie diesen Ansatz auf jede UMD verallgemeinern Pakete.
Wenn Ihre Anwendung in mehrere Dateien/Module aufgeteilt wird, kann die Darstellung der exakten Komponenten, die Sie für 'window.abc' benötigen, der richtige Weg sein. Ich habe Vorschläge gesehen, Fensterelemente nicht zu exponieren, wenn dies nicht erforderlich ist. – Sairam