Dvaのindex.jsファイルにすべてのコードがあるのはなぜですか?ブロックにパッケージ化されたデモはありますか?
調べてみたところ、このパッケージは同じファイル内にあり、分離されていないことがわかりましたか?
オンデマンドでロードしますか?リファレンス: https :
オンデマンドの読み込みではなく、ブロックパッケージ...
エントリを解凍するには、 CommonsChunkPluginを試すことができます。
私が書いた Vue プロジェクト、Vue プロジェクトは次のように実装されています。
ルーティング:
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 }
]
})
ウェブパック:
output: {
path: config.build.assetsRoot,
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js'
},
ただし、これをdvaで構成しても効果はありません
これはオンデマンドでロードするだけではありませんか?
いいえ、ブロックパッケージも実装しています。たとえば、私のシステムには2つのルートがあります。
dvaプロジェクトのaまたはbにアクセスするかどうかに関係なく、要求されたindex.js;すべてにaとbのロジックコードが含まれています。
vueプロジェクトでは、ページaにアクセスするために要求されたjsはa.index.jsであり、ページbにアクセスするために要求されたjsはb.index.jsです。相互に包括的ではない
https://github.com/dvajs/dva/blob/master/examples/dynamic-load/router.js#L6 -L27
この段落は、あなたが説明したvueプロジェクトの効果を達成するために使用されます。
この動的ルーティングのコードを見たことがありますが、vueプロジェクトのアイデアに気づいていません。現在のコードは次のとおりです。
`const Login = c => require.ensure([]、require =>(
app.model(require( './ models / login / loginModel'))、
c(ヌル、require('./routes/login/Login'))
));
const Main = c => require.ensure([]、require =>(
app.model(require('./models/main/mainModel'))、
c(null、require( './ routes / main / Main'))
));
関数interceptPermissions(){
const トークン = kits.getCookies('tf-token');
const uid = kits.getCookies( 'tf-uid');
if(!uid ||!token){
app._store.dispatch(routerRedux.replace( '/ login'))
}
}
戻る
getComponent = {(location、callback)=> Main(callback)}>
`
実行開始またはビルドに関係なく、実装されていません。すべてのコードがindex.jsファイルに出力されます。
マーク
マーク
マーク
https://github.com/dvajs/dva/tree/master/examples/dynamic-load
削除されましたが、オンデマンドのdva構成はどこで確認できますか?ありがとうございました
マーク
@AlaiNiGuestsあなたのアドレスのドキュメントを調べましたが、dva 2.x以降では使用しないでください。
react-router 3.xまたは4.xの構文はありますか?
マーク
元のポスターはどのようにそれを解決しましたか?コードを投稿できますか?どうもありがとう!
最も参考になるコメント
https://github.com/dvajs/dva-example-user-dashboard/blob/master/src/router.js