Ich habe ein React-Projekt mit Webpack gebündelt.Dynamischer Import mit nicht gebündelter Datei
Ich habe eine Komponente, die ich es Komponenten dynamisch rendern soll. In meinem Fall kommt der Pfad der Komponente von Requisiten.
Auch diese Komponenten sind nicht in meinem Projekt .js-Datei gebündelt; Sie sind externe React-Komponenten/Bibliotheken.
ich das Dynamic ES6 Import versucht haben:
componentWillReceiveProps(nextProps){
if(nextProps.pagesData && this.props.pagesData !== nextProps.pagesData && nextProps.pagesData.get('cards').count() > 0){
// Getting the first card from the Immutable object
let card = nextProps.pagesData.getIn(['cards', 0]);
// Getting the cardType which can be: '/path/index.js'
let cardType = card.get('card_type');
// ES6 Dynamic import
import(cardType)
.then(module => {
this.setState({ asyncCard: module.default });
})
}
}
Dies funktioniert nicht, da Import eine statische Route benötigt.
Dann habe ich versucht, mit erfordern:
let dynamicComponent = require(cardType);
Welche weil nicht funktioniert (ich nehme an) Webpack versucht, es in das Hauptbündel zu finden.
Ist das überhaupt möglich?
aktualisieren: Es sieht aus wie das funktionieren kann (cardtype ist 'index.js' - eine Komponente Reagieren):
import(`/home/user/_apps/module/react-module/lib/${cardType}`)
Webpack schafft ein anderes Bündel (chunk) einschließlich des Codes von index.js und all seine Abhängigkeiten.
Aber das löst nicht wirklich meine ursprüngliche Frage.
Bearbeiten 2: Der Import von oben ignoriert tatsächlich die letzte var und Webpack macht Chunks jeder Datei in/lib.