Я использую Angular-ui-router для маршрутизации и oclazyload для загрузки базы каждого контроллера на маршрутах (отложенная загрузка).
Проблема: Мой route.js
файл становится все больше и больше (до 8000 строк!)
Я лениво загружаю свои маршруты как контроллеры, как показано ниже.
// app.config(routes.js) ↓
$stateProvider
.state('app.warehouses', {
url: '/warehouses',
views: {
"appContent@app": {
templateUrl: 'warehouses/warehouses.html',
controller: 'warehousesCtrl'
},
resolve: {
loadCtrl: ['$ocLazyLoad', ($ocLazyLoad) => {
return $ocLazyLoad.load({
files: [
'warehouses/warehousesRoute.js', // lazy load routes
'warehouses/warehousesCtrl.js'
]
});
}]
},
})
// warehousesRoute.js ↓
$stateProvider
.state('app.warehouses.warehouse', {
url: '/warehouse/:id',
views: {
"appContent@app": {
templateUrl: 'warehouses/warehouse.html',
controller: 'warehouseCtrl'
}
},
resolve: {
loadCtrl: ['$ocLazyLoad', ($ocLazyLoad) => {
return $ocLazyLoad.load('warehouses/warehouse/warehouseCtrl.js');
}]
}
})
Все работает нормальноперед обновлением приложения в дочерних представлениях.
Это означает:
Когда я иду по дочернему маршруту (app.warehouses.warehouse/:id)
, нажимая на ссылку, все работает нормально, но когда я обновляю страницу в дочернем маршруте (warehouse/:id)
,Я захожу на 404 Not Found страницу!
Как я могу решить эту проблему?