perf: split frontend routes from initial bundle (AEG-X-002)

This commit is contained in:
2026-08-08 16:21:34 +09:00
parent 7b04dd6017
commit 4e0a0bc02b
6 changed files with 98 additions and 35 deletions
+9 -16
View File
@@ -1,23 +1,16 @@
import { createRouter, createWebHistory } from 'vue-router';
import SellDecisionPage from '../features/sell-decision/pages/SellDecisionPage.vue';
import DataQualityPage from '../features/data-quality/pages/DataQualityPage.vue';
import ModelOperationsPage from '../features/model-operations/pages/ModelOperationsPage.vue';
import UiStandardPage from '../features/ui-standard/pages/UiStandardPage.vue';
import RiskDashboard from '../features/portfolio/pages/RiskDashboard.vue';
import RebalanceForm from '../features/portfolio/pages/RebalanceForm.vue';
import MarketDataIngestion from '../features/marketData/pages/MarketDataIngestion.vue';
import IngestionStatus from '../features/marketData/pages/IngestionStatus.vue';
export const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', redirect: '/research/sell-decision' },
{ path: '/research/sell-decision', component: SellDecisionPage, meta: { screenId: 'SCR-002', templateId: 'T02' } },
{ path: '/ops/data-quality', component: DataQualityPage, meta: { screenId: 'SCR-013', templateId: 'T08' } },
{ path: '/ops/model-operations', component: ModelOperationsPage, meta: { screenId: 'SCR-015', templateId: 'T10' } },
{ path: '/ops/market-data-ingestion', component: MarketDataIngestion, meta: { screenId: 'SCR-016', templateId: 'T08' } },
{ path: '/ops/market-data-history', component: IngestionStatus, meta: { screenId: 'SCR-017', templateId: 'T08' } },
{ path: '/portfolio/risk', component: RiskDashboard, meta: { screenId: 'SCR-018', templateId: 'T07' } },
{ path: '/portfolio/rebalance', component: RebalanceForm, meta: { screenId: 'SCR-019', templateId: 'T03' } },
{ path: '/internal/ui-standard', component: UiStandardPage, meta: { screenId: 'SCR-DEV-001', templateId: 'T01', internalOnly: true } }
{ path: '/research/sell-decision', component: () => import('../features/sell-decision/pages/SellDecisionPage.vue'), meta: { screenId: 'SCR-002', templateId: 'T02' } },
{ path: '/ops/data-quality', component: () => import('../features/data-quality/pages/DataQualityPage.vue'), meta: { screenId: 'SCR-013', templateId: 'T08' } },
{ path: '/ops/model-operations', component: () => import('../features/model-operations/pages/ModelOperationsPage.vue'), meta: { screenId: 'SCR-015', templateId: 'T10' } },
{ path: '/ops/market-data-ingestion', component: () => import('../features/marketData/pages/MarketDataIngestion.vue'), meta: { screenId: 'SCR-016', templateId: 'T08' } },
{ path: '/ops/market-data-history', component: () => import('../features/marketData/pages/IngestionStatus.vue'), meta: { screenId: 'SCR-017', templateId: 'T08' } },
{ path: '/portfolio/risk', component: () => import('../features/portfolio/pages/RiskDashboard.vue'), meta: { screenId: 'SCR-018', templateId: 'T07' } },
{ path: '/portfolio/rebalance', component: () => import('../features/portfolio/pages/RebalanceForm.vue'), meta: { screenId: 'SCR-019', templateId: 'T03' } },
{ path: '/internal/ui-standard', component: () => import('../features/ui-standard/pages/UiStandardPage.vue'), meta: { screenId: 'SCR-DEV-001', templateId: 'T01', internalOnly: true } },
{ path: '/internal/wbs', component: () => import('../features/wbs/pages/WbsWorkspacePage.vue'), meta: { screenId: 'SCR-DEV-002', templateId: 'T01', internalOnly: true } }
]
});
+9 -18
View File
@@ -1,26 +1,17 @@
import { createRouter, createWebHistory } from 'vue-router'
import SellDecisionPage from '../features/sell-decision/pages/SellDecisionPage.vue'
import DataQualityPage from '../features/data-quality/pages/DataQualityPage.vue'
import ModelOperationsPage from '../features/model-operations/pages/ModelOperationsPage.vue'
import UiStandardPage from '../features/ui-standard/pages/UiStandardPage.vue'
import WbsWorkspacePage from '../features/wbs/pages/WbsWorkspacePage.vue'
import RiskDashboard from '../features/portfolio/pages/RiskDashboard.vue'
import RebalanceForm from '../features/portfolio/pages/RebalanceForm.vue'
import MarketDataIngestion from '../features/marketData/pages/MarketDataIngestion.vue'
import IngestionStatus from '../features/marketData/pages/IngestionStatus.vue'
export const router = createRouter({
history: createWebHistory(),
routes: [
{ path: '/', redirect: '/research/sell-decision' },
{ path: '/research/sell-decision', component: SellDecisionPage, meta: { screenId: 'SCR-002', templateId: 'T02' } },
{ path: '/ops/data-quality', component: DataQualityPage, meta: { screenId: 'SCR-013', templateId: 'T08' } },
{ path: '/ops/model-operations', component: ModelOperationsPage, meta: { screenId: 'SCR-015', templateId: 'T10' } },
{ path: '/ops/market-data-ingestion', component: MarketDataIngestion, meta: { screenId: 'SCR-016', templateId: 'T08' } },
{ path: '/ops/market-data-history', component: IngestionStatus, meta: { screenId: 'SCR-017', templateId: 'T08' } },
{ path: '/portfolio/risk', component: RiskDashboard, meta: { screenId: 'SCR-018', templateId: 'T07' } },
{ path: '/portfolio/rebalance', component: RebalanceForm, meta: { screenId: 'SCR-019', templateId: 'T03' } },
{ path: '/internal/ui-standard', component: UiStandardPage, meta: { screenId: 'SCR-DEV-001', templateId: 'T01', internalOnly: true } },
{ path: '/internal/wbs', component: WbsWorkspacePage, meta: { screenId: 'SCR-DEV-002', templateId: 'T01', internalOnly: true } }
{ path: '/research/sell-decision', component: () => import('../features/sell-decision/pages/SellDecisionPage.vue'), meta: { screenId: 'SCR-002', templateId: 'T02' } },
{ path: '/ops/data-quality', component: () => import('../features/data-quality/pages/DataQualityPage.vue'), meta: { screenId: 'SCR-013', templateId: 'T08' } },
{ path: '/ops/model-operations', component: () => import('../features/model-operations/pages/ModelOperationsPage.vue'), meta: { screenId: 'SCR-015', templateId: 'T10' } },
{ path: '/ops/market-data-ingestion', component: () => import('../features/marketData/pages/MarketDataIngestion.vue'), meta: { screenId: 'SCR-016', templateId: 'T08' } },
{ path: '/ops/market-data-history', component: () => import('../features/marketData/pages/IngestionStatus.vue'), meta: { screenId: 'SCR-017', templateId: 'T08' } },
{ path: '/portfolio/risk', component: () => import('../features/portfolio/pages/RiskDashboard.vue'), meta: { screenId: 'SCR-018', templateId: 'T07' } },
{ path: '/portfolio/rebalance', component: () => import('../features/portfolio/pages/RebalanceForm.vue'), meta: { screenId: 'SCR-019', templateId: 'T03' } },
{ path: '/internal/ui-standard', component: () => import('../features/ui-standard/pages/UiStandardPage.vue'), meta: { screenId: 'SCR-DEV-001', templateId: 'T01', internalOnly: true } },
{ path: '/internal/wbs', component: () => import('../features/wbs/pages/WbsWorkspacePage.vue'), meta: { screenId: 'SCR-DEV-002', templateId: 'T01', internalOnly: true } }
]
})