Dvaμ index.js νμΌμ λͺ¨λ μ½λκ°μλ μ΄μ λ 무μμ λκΉ? λΈλ‘μΌλ‘ ν¨ν€μ§ λ λ°λͺ¨κ° μμ΅λκΉ?
μ΄ν΄λ³Έ κ²°κ³Όμ΄ ν¨ν€μ§κ° κ°μ νμΌμ μκ³ λΆλ¦¬λμ΄ μμ§ μλ€λ κ²μ μμμ΅λλ€.
μμ²μλ‘λ νμκ² μ΅λκΉ? μ°Έμ‘° : https://github.com/dvajs/dva/tree/master/examples/dynamic-load
μ£Όλ¬Έν λ‘λ©μ΄ μλλΌ λΈλ‘ ν¨ν€μ§ ...
νλͺ©μ μμΆμ νλ €λ©΄ 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μμ ꡬμ±νλ©΄ ν¨κ³Όκ° μμ΅λλ€.
μ΄κ²μ λ¨μ§ μμ²μ λ°λΌλ‘λλμ§ μμ΅λκΉ?
μλμ, λΈλ‘ ν¨ν€μ§λ ꡬνν©λλ€. μλ₯Ό λ€μ΄ λ΄ μμ€ν
μλ a, b;
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 λ‘κ·ΈμΈ = 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'))
));
function interceptPermissions () {
const ν ν° = kits.getCookies ( 'tf-token');
const uid = kits.getCookies ( 'tf-uid');
if (! uid ||! token) {
app._store.dispatch (routerRedux.replace ( '/ login'))
}
}
λ°ν
getComponent = {(μμΉ, μ½λ°±) => λ©μΈ (μ½λ°±)}>
`
μ€ν μμ λλ λΉλμ κ΄κ³μμ΄ λͺ¨λ μ½λκ° 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