Mengapa Dva memiliki semua kode dalam file index.js? Apakah ada demo yang dikemas dalam blok?
Lihat https://github.com/sorrycc/blog/issues/18 , untuk perpustakaan https://github.com/dvajs/dva-example-user-dashboard
Saya melihat dan menemukan bahwa paket ini dalam file yang sama dan tidak terpisah?
Muat sesuai permintaan? Referensi: https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Tidak memuat sesuai permintaan, tetapi memblokir pengemasan...
Untuk membongkar entri, Anda dapat mencoba CommonsChunkPlugin .
Proyek Vue yang saya tulis, proyek Vue diimplementasikan seperti ini:
rute:
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 }
]
})
paket web:
output: {
path: config.build.assetsRoot,
publicPath: process.env.NODE_ENV === 'production' ? config.build.assetsPublicPath : config.dev.assetsPublicPath,
filename: '[name].js'
},
Tetapi mengonfigurasi ini di dva tidak berlaku
Bukankah ini hanya memuat sesuai permintaan?
Tidak, itu juga mengimplementasikan pengemasan blok.Misalnya, ada dua rute di sistem saya: a, b;
Terlepas dari mengakses a atau b dalam proyek dva, index.js yang diminta, semuanya berisi kode logika a dan b;
Dalam proyek vue, untuk mengakses halaman a, js yang diminta adalah a.index.js, dan untuk mengakses halaman b, js yang diminta adalah b.index.js.Tidak saling inklusif
https://github.com/dvajs/dva/blob/master/examples/dynamic-load/router.js#L6 -L27
Paragraf ini digunakan untuk mencapai efek dari proyek vue yang Anda gambarkan.
Saya telah melihat kode untuk perutean dinamis ini, tetapi saya belum menyadari idenya di proyek vue. Kode saya saat ini seperti ini
`const Login = c => require.ensure([], require => (
app.model(memerlukan('./models/login/loginModel')),
c(null, membutuhkan('./routes/login/Login'))
));
const Main = c => require.ensure([], require => (
app.model(memerlukan('./models/main/mainModel')),
c(null, membutuhkan('./routes/main/Utama'))
));
fungsi intersep izin() {
const token = kits.getCookies('tf-token');
const uid = kits.getCookies('tf-uid');
if (!uid || !token) {
app._store.dispatch(routerRedux.replace('/login'))
}
}
kembali
getComponent={(lokasi, panggilan balik) => Main(panggilan balik)}>
`
Itu belum diimplementasikan, tidak peduli itu dijalankan mulai atau dibangun semua kode adalah output ke file index.js
menandai
menandai
menandai
https://github.com/dvajs/dva/tree/master/examples/dynamic-load
Sudah dihapus, di mana saya bisa melihat konfigurasi dva sesuai permintaan?Terima kasih
menandai
@AlaiNiGuests Dokumen di alamat Anda, saya lihat, tidak boleh digunakan di dva 2.x atau di atasnya?
Apakah sintaks react-router 3.x atau 4.x?
menandai
Bagaimana poster asli menyelesaikannya? Bisakah Anda memposting kode? Terimakasih banyak!
Komentar yang paling membantu
https://github.com/dvajs/dva-example-user-dashboard/blob/master/src/router.js