Por que o Dva tem todo o código no arquivo index.js? Existe uma demonstração empacotada em blocos?
Consulte https://github.com/sorrycc/blog/issues/18 , para a biblioteca https://github.com/dvajs/dva-example-user-dashboard
Dei uma olhada e descobri que este pacote está no mesmo arquivo e não está separado?
Carregar sob demanda? Referência: https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Não carregamento sob demanda, mas embalagem em bloco ...
Para descompactar uma entrada, você pode tentar CommonsChunkPlugin .
O projeto Vue que escrevi, o projeto Vue é implementado assim:
roteamento:
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'
},
Mas configurar isso no dva não tem efeito
Isso não é apenas carregar sob demanda?
Não, ele também implementa empacotamento em bloco.Por exemplo, existem duas rotas em meu sistema: a, b;
Independentemente de acessar a ou b no projeto dva, o index.js solicitado; todos contêm o código lógico de a e b;
No projeto vue, para acessar a página a, o js solicitado é a.index.js, e para acessar a página b, o js solicitado é b.index.js.Não são mutuamente inclusivos
https://github.com/dvajs/dva/blob/master/examples/dynamic-load/router.js#L6 -L27
Este parágrafo é usado para alcançar o efeito do projeto vue que você descreveu.
Eu vi o código para este roteamento dinâmico, mas não percebi a ideia no projeto vue. Meu código atual é assim
`const Login = c => require.ensure ([], require => (
app.model (require ('./ models / login / loginModel')),
c (nulo, requer ('./ routes / login / Login'))
));
const Main = c => require.ensure ([], require => (
app.model (require ('./ models / main / mainModel')),
c (null, require ('./ routes / main / Main'))
));
function interceptPermissions () {
const token = kits.getCookies ('tf-token');
const uid = kits.getCookies ('tf-uid');
if (! uid ||! token) {
app._store.dispatch (routerRedux.replace ('/ login'))
}
}
Retorna
getComponent = {(localização, retorno de chamada) => Principal (retorno de chamada)}>
`
Não foi implementado, independentemente de ser executado, iniciar ou construir, todo o código é enviado para um arquivo index.js
marca
marca
marca
https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Ele foi removido, onde posso ver a configuração dva sob demanda?Obrigada
marca
@AlaiNiGuests O documento em seu endereço, eu dei uma olhada, ele não deve ser usado no dva 2.x ou superior?
A sintaxe do react-router é 3.x ou 4.x?
marca
Como o pôster original resolveu isso? Você pode postar o código? Muito Obrigado!
Comentários muito úteis
https://github.com/dvajs/dva-example-user-dashboard/blob/master/src/router.js