Dva: Por que o Dva tem todo o código no arquivo index.js? Existe uma demonstração empacotada em blocos?

Criado em 23 dez. 2016  ·  19Comentários  ·  Fonte: dvajs/dva

Por que o Dva tem todo o código no arquivo index.js? Existe uma demonstração empacotada em blocos?

question

Comentários muito úteis

Todos 19 comentários

Dei uma olhada e descobri que este pacote está no mesmo arquivo e não está separado?

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 = {(location, callback) => Login (callback)} />
onenter = {interceptPermissions ()}
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!

Esta página foi útil?
0 / 5 - 0 avaliações