Dva: Beim dynamischen Laden kann die geteilte .js-Datei nicht gefunden werden, wenn die Route über mehrstufige Pfade verfügt

Erstellt am 23. Sept. 2016  ·  13Kommentare  ·  Quelle: dvajs/dva

Das Benutzer-Dashboard-Beispiel wird gemäß dem Beispiel für dynamisches Laden wie folgt in nur router.js geändert:
image
Wenn der Verlauf browserHistory verwendet und an den Pfad / demo / users weitergeleitet wird, fordert er 127.0.0.1:8989/demo/0.js an, und es wird ein 404-Fehler angezeigt.
image
Wenn der Verlauf hashHistory verwendet, gibt es kein Problem. Die Anforderung lautet 127.0.0.1:8989/0.js

Wenn es direkt an / users weitergeleitet wird, gibt es kein Problem, ob es sich um HashHistory oder BrowserHistory handelt.

faq question

Alle 13 Kommentare

Wenn der dynamische Lademodus nicht direkt verwendet wird, gibt es kein Problem beim Routing auf mehrere Ebenen
image

Versuchen Sie, den publicPath des Webpacks mit / abzugleichen.

image

Nach dem Hinzufügen von publicPath wird die route / index.js des Stammpfads direkt 404 angezeigt.

@yinlsea Wie unterstützt Ihr vsc das Reaktionsprojekt? Ich habe die Standardeinstellung verwendet und versucht, einige Erweiterungen zu installieren. Als ich jedoch auf eine Anweisung im Format {...foo,...bar} , war die automatische Formatierung gelähmt. Ich möchte nicht wirklich andere Editoren verwenden, es gibt keine Möglichkeit, nur ein manuelles Format zu haben.

@xjdata kann das Struktursymbol nicht erkennen, selbst

Verwenden Sie Idee oder Webstorm, das offizielle Update ist sehr schnell und der Support ist auch sehr voll.

@ohmyauthentic木 有 ~ Keine Möglichkeit, den Webstorm zu ändern ~

Gelöst, verwenden Sie browserHistory. Wenn Sie bei Bedarf laden, müssen Sie wie folgt schreiben:
{useRouterHistory} von'dva / router importieren ';
{createHistory} aus'history 'importieren;

dva ({
Verlauf: useRouterHistory (createHistory) ({Basisname: 'ROOTPATH'}),
});

Gelöst, verwenden Sie browserHistory. Wenn Sie bei Bedarf laden, müssen Sie wie folgt schreiben:
{useRouterHistory} von'dva / router importieren ';
{createHistory} aus'history 'importieren;

dva ({
Verlauf: useRouterHistory (createHistory) ({Basisname: 'ROOTPATH'}),
});

Gelöst, verwenden Sie browserHistory. Wenn Sie bei Bedarf laden, müssen Sie wie folgt schreiben:
{useRouterHistory} von'dva / router importieren ';
{createHistory} aus'history 'importieren;

dva ({
Verlauf: useRouterHistory (createHistory) ({Basisname: 'ROOTPATH'}),
});

Hallo, ich habe das Problem der Unterverzeichnisse auf Ihre Weise gelöst, aber jetzt geben Sie bei mehrstufigen Pfaden http: // localhost : 8989 / indexpage in den Pfad der ersten Ebene ein und aktualisieren Sie um f5, aber http: // localhost : 8989 / indexpage / test1 Das Drücken von f5 funktioniert nicht, der Bericht kann die .js-Datei nicht finden

@yinlsea Worauf bezieht sich ROOTPATH? Ich kann Link to = '/ xx / xx' verwenden, um den mehrstufigen Pfad reibungslos einzugeben, aber ich kann ihn nach der F5-Aktualisierung nicht eingeben.

ROOTPATH ​​ist Ihr Root-Pfad, zum Beispiel: "/ XXX /", Zugriff ist http: // IP : PORT / XXX /

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen