- todo.router: create 错误码 NOT_FOUND → INTERNAL_SERVER_ERROR,remove 增加存在性检查 - __root: devtools 仅在 DEV 环境渲染 - Electron: 添加 will-navigate 导航拦截、显式安全 webPreferences、deny-all 权限请求 - sidecar: 空 catch 块补充意图注释,新增 lastResolvedUrl getter - todo.contract: 硬编码 omit 改用 generatedFieldKeys - router: QueryClient 添加 staleTime/retry 默认值 - turbo: build 任务精细化 inputs 提升缓存命中率 - fields: id() 改为模块私有
34 lines
736 B
TypeScript
34 lines
736 B
TypeScript
import { QueryClient } from '@tanstack/react-query'
|
|
import { createRouter } from '@tanstack/react-router'
|
|
import { setupRouterSsrQueryIntegration } from '@tanstack/react-router-ssr-query'
|
|
import type { RouterContext } from './routes/__root'
|
|
import { routeTree } from './routeTree.gen'
|
|
|
|
export const getRouter = () => {
|
|
const queryClient = new QueryClient({
|
|
defaultOptions: {
|
|
queries: {
|
|
staleTime: 30 * 1000,
|
|
retry: 1,
|
|
},
|
|
},
|
|
})
|
|
|
|
const router = createRouter({
|
|
routeTree,
|
|
context: {
|
|
queryClient,
|
|
} satisfies RouterContext,
|
|
|
|
scrollRestoration: true,
|
|
defaultPreloadStaleTime: 0,
|
|
})
|
|
|
|
setupRouterSsrQueryIntegration({
|
|
router,
|
|
queryClient,
|
|
})
|
|
|
|
return router
|
|
}
|