Warum hat Dva den gesamten Code in der Datei index.js? Gibt es eine in Blöcken verpackte Demo?
Siehe https://github.com/sorrycc/blog/issues/18 , für die Bibliothek https://github.com/dvajs/dva-example-user-dashboard
Ich habe nachgesehen und festgestellt, dass sich dieses Paket in derselben Datei befindet und nicht getrennt ist?
Bei Bedarf laden? Referenz: https://github.com/dvajs/dva/tree/master/examples/dynamic-load
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) => 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!
Hilfreichster Kommentar
https://github.com/dvajs/dva-example-user-dashboard/blob/master/src/router.js