2017-12-31 130 views
0

Ich sah mich mit einem seltsamen Problem konfrontiert, während reactjs dynamischer Import verwendet wurde. Lassen Sie uns sagen, ich habe eine Komponente, deren Name ist ComponentA und ihr Pfad ist wie myComponents/ComponentA. Nun, wenn ich es dynamisch wie dem folgenden Code importieren, wäre es gut funktionieren:reactjs dynamischer Import mit konstanter Pfadvariable

Promise.all(
     [ 
      import('myComponents/ComponentA'), 
      // other imports 
     ] 
    ).then(....); 

Aber wenn ich meine Komponente Pfad in einer konstanten Variable wie die definieren folgende:

//before definition of my current component 
const PATH = 'myComponents/ComponentA'; 
. 
. 
. 
// some where in my component class 
Promise.all(
    [ 
     import(PATH), 
     // other imports 
    ] 
).then(....); 

es würde mir eine Fehler wie folgt aus:

Error: Cannot find module 'myComponents/ComponentA'.

und manchmal, wenn ich nur einen leeren String in meine PATH Variable hinzufügen würde das Problem und einige Male lösen es nicht.

//before definition of my current component 
const PATH = 'myComponents/ComponentA'; 
. 
. 
. 
// some where in my component class 
Promise.all(
    [ 
     import(''+PATH), // some times by adding empty string, problem would be solved 
     // other imports 
    ] 
).then(....); 

eine Idee über das, was vor sich geht, würde geschätzt werden.

Antwort

0

maybe try this , new es6 syntax...

const PATH = 'myComponents/ComponentA'; 
Promise.all(
    [ 
     import(`${PATH}`), // try pass it like this 
     // other imports 
    ] 
).then(....); 

Ich hoffe, ich habe

+0

hallo eine Hilfe gewesen. Tanks für Ihre Antwort, aber es hat nicht funktioniert. – pooyan

+0

hast du die backticks probiert? wir können es mit Leerzeichen wie diesem versuchen 'import ('$ {PATH}')' (backticks um $ {PATH} kann das nicht in einem Kommentar tun) –

+0

Sorry für meine späte Antwort, aber das hat auch nicht funktioniert :(. – pooyan

Verwandte Themen