Dva: Pourquoi Dva a-t-il tout le code dans le fichier index.js ? Existe-t-il une démo conditionnée en blocs ?

Créé le 23 déc. 2016  ·  19Commentaires  ·  Source: dvajs/dva

Pourquoi Dva a-t-il tout le code dans le fichier index.js ? Existe-t-il une démo conditionnée en blocs ?

question

Commentaire le plus utile

Tous les 19 commentaires

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) => Connexion(rappel)}/>
onenter={intercepter les autorisations()}
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!

Cette page vous a été utile?
0 / 5 - 0 notes