Dva: Warum hat Dva den gesamten Code in der Datei index.js? Gibt es eine in Blöcken verpackte Demo?

Erstellt am 23. Dez. 2016  ·  19Kommentare  ·  Quelle: dvajs/dva

Warum hat Dva den gesamten Code in der Datei index.js? Gibt es eine in Blöcken verpackte Demo?

question

Hilfreichster Kommentar

Alle 19 Kommentare

Ich habe nachgesehen und festgestellt, dass sich dieses Paket in derselben Datei befindet und nicht getrennt ist?

Nicht On-Demand-Verladung, sondern Blockverpackung...

Um einen Eintrag zu entpacken, können Sie CommonsChunkPlugin ausprobieren.

Das Vue-Projekt, das ich geschrieben habe, das Vue-Projekt wird wie folgt umgesetzt:
Streckenführung:
const Login = r => require.ensure([], () => r(require('../components/login/Login.vue')), 'user') export default new Router({ mode: 'history', scrollBehavior: () => ({ y: 0 }), routes: [ { name: 'login', path: '/login', component: Login } ] })
Webpack:
output: { path: config.build.assetsRoot, publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath, filename: '[name].js' },
Aber die Konfiguration in dva hat keine Wirkung

Wird das nicht nur bei Bedarf geladen?

Nein, es implementiert auch Block-Packaging.Beispielsweise gibt es auf meinem System zwei Routen: a, b;
Unabhängig vom Zugriff auf a oder b im dva-Projekt enthalten die angeforderten index.js alle den logischen Code von a und b;
Im vue-Projekt lautet die angeforderte js für den Zugriff auf Seite a a.index.js und für den Zugriff auf Seite b ist die angeforderte js b.index.js.Schließen sich nicht gegenseitig ein

https://github.com/dvajs/dva/blob/master/examples/dynamic-load/router.js#L6 -L27
Dieser Absatz wird verwendet, um die Wirkung des von Ihnen beschriebenen vue-Projekts zu erzielen.

Ich habe den Code für dieses dynamische Routing gesehen, aber die Idee im vue-Projekt habe ich nicht realisiert. Mein aktueller Code ist so
`const Login = c => require.ensure([], require => (
app.model(require('./models/login/loginModel')),
c(null, require('./routes/login/Login'))
));

const Main = c => require.ensure([], require => (
app.model(require('./models/main/mainModel')),
c(null, require('./routes/main/Main'))
));

Funktion interceptPermissions() {
const-Token = kits.getCookies('tf-token');
const-uid = kits.getCookies('tf-uid');
if (!uid || !token) {
app._store.dispatch(routerRedux.replace('/login'))
}
}

Rückkehr getComponent={(Ort, Rückruf) => Login(Rückruf)}/>
onenter={interceptPermissions()}
getComponent={(Ort, Rückruf) => Main(Rückruf)}>




`
Es wurde nicht implementiert, egal ob es ausgeführt wird, start oder build, der gesamte Code wird in eine index.js-Datei ausgegeben

Kennzeichen

Kennzeichen

Kennzeichen

https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Es wurde entfernt, wo kann ich die On-Demand-DVA-Konfiguration sehen?Vielen Dank

Kennzeichen

@AlaiNiGuests Das Dokument in deiner Adresse habe ich mir angesehen, sollte es nicht auf dva 2.x oder höher verwendet werden?
Ist die Syntax von React-Router 3.x oder 4.x?

Kennzeichen

Wie hat das Originalplakat das Problem gelöst? Kannst du den Code posten? Vielen Dank!

War diese Seite hilfreich?
0 / 5 - 0 Bewertungen