Pourquoi Dva a-t-il tout le code dans le fichier index.js ? Existe-t-il une démo conditionnée en blocs ?
Reportez-vous à https://github.com/sorrycc/blog/issues/18 , pour la bibliothèque https://github.com/dvajs/dva-example-user-dashboard
J'ai jeté un coup d'œil et trouvé que ce paquet est dans le même fichier et n'est pas séparé ?
Chargement à la demande ? Référence : https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Pas de chargement à la demande, mais des emballages en bloc...
Pour décompresser une entrée, vous pouvez essayer CommonsChunkPlugin .
Le projet Vue que j'ai écrit, le projet Vue est implémenté comme ceci :
routage :
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'
},
Mais la configuration dans dva ne prend pas effet
N'est-ce pas juste un chargement à la demande ?
Non, il implémente également l'empaquetage de blocs. Par exemple, il y a deux routes sur mon système : a, b;
Indépendamment de l'accès à a ou b dans le projet dva, les index.js demandés contiennent tous le code logique de a et b ;
Dans le projet vue, pour accéder à la page a, le js demandé est a.index.js, et pour accéder à la page b, le js demandé est b.index.js.Ne sont pas mutuellement inclusifs
https://github.com/dvajs/dva/blob/master/examples/dynamic-load/router.js#L6 -L27
Ce paragraphe est utilisé pour obtenir l'effet du projet vue que vous avez décrit.
J'ai vu le code de ce routage dynamique, mais je n'ai pas réalisé l'idée dans le projet vue.Mon code actuel est comme ça
`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'))
));
fonction interceptPermissions() {
jeton const = kits.getCookies('tf-token');
const uid = kits.getCookies('tf-uid');
if (!uid || !token) {
app._store.dispatch(routerRedux.replace('/login'))
}
}
revenir
getComponent={(emplacement, rappel) => Principal(rappel)}>
`
Il n'a pas été implémenté, peu importe qu'il soit exécuté, démarrez ou construisez tout le code est sorti dans un fichier index.js
marque
marque
marque
https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Il a été supprimé, où puis-je voir la configuration dva à la demande ?Merci
marque
@AlaiNiGuests Le document dans votre adresse, j'ai jeté un œil, il ne doit pas être utilisé sur dva 2.x ou supérieur ?
La syntaxe de react-router est-elle 3.x ou 4.x ?
marque
Comment l'affiche originale a-t-elle résolu le problème ? Peux-tu poster le code ? Merci beaucoup!
Commentaire le plus utile
https://github.com/dvajs/dva-example-user-dashboard/blob/master/src/router.js