# 1. 路由懒加载与 defineAsyncComponent 的代码分割协作 A defineAsyncComponent 无法配置错误状态处理 B 路由懒加载与 defineAsyncComponent 的作用完全相同 C 路由懒加载按页面拆分 chunk,defineAsyncComponent 按组件拆分并管理加载状态,两者可分层协作 ✓ 正确答案 D 代码分割会合并所有代码为单个 chunk
# 2. Pinia 的 $reset、$subscribe、插件机制 A 插件无法包装 store 的 actions B $reset 只能重置部分字段 C $subscribe 的回调在组件卸载后必然自动停止 D $reset 恢复初始 state,$subscribe 订阅状态变化,插件通过 pinia.use 扩展 store ✓ 正确答案
# 3. ScrollBehavior 与滚动位置恢复 A scrollBehavior 按返回值执行滚动,支持绝对位置、元素定位与 savedPosition 恢复,异步内容需等渲染后再滚动 ✓ 正确答案 B scrollBehavior 只支持滚动到页面顶部 C savedPosition 在刷新页面后仍能自动恢复 D scrollBehavior 无法返回 Promise
# 4. Pinia 的 setup store 与 options store 在大型状态管理的工程取舍 A setup store 以组合式风格组织、类型推导更佳,复杂业务优先;options store 结构化且原生支持 $reset ✓ 正确答案 B setup store 无法使用 computed 派生状态 C options store 不能调用其他 store 的 action D 大型项目必须全部使用 options store
# 5. Vue Router 4/5 createRouter 与 Composition API 的路由守卫嵌套工程价值 A 组件内守卫只能在 Options API 中注册 B 守卫按全局→路由独享→组件内分层执行,组合式 API 用 onBeforeRouteLeave 等注册组件内守卫 ✓ 正确答案 C 嵌套路由的守卫执行顺序无规律 D useRoute() 返回静态路由对象,不响应变化
# 6. Vue Router 4 的 useRouter/useRoute 在 Composition API 的工程化应用 A useRoute() 返回响应式路由对象,可直接响应 query/params 变化,但解构会失去响应性 ✓ 正确答案 B useRouter() 返回的是静态路由配置对象 C useRoute 只能在路由组件中使用 D useRouter 可以在任意模块顶层调用
# 7. router.addRoute() 动态注册路由与权限控制 A addRoute 运行时注册路由,权限场景按用户权限生成路由表并配合守卫校验,登出时需移除清理 ✓ 正确答案 B 动态注册的路由无法嵌套挂载 C 404 兜底路由应最先注册以保证优先级 D 前端隐藏路由即可保证权限安全
# 8. Vue Router 的动态路由、嵌套路由与守卫(beforeEach、beforeResolve) A 嵌套路由的子页面渲染在独立的应用根节点 B beforeResolve 在 beforeEach 之前执行 C beforeEach 在导航开始后执行适合鉴权,beforeResolve 在所有组件内守卫与异步组件解析后执行适合数据就绪校验 ✓ 正确答案 D catch-all 路由无法匹配多级路径
# 9. VueUse 在 Nuxt 3 Nitro 的现代取舍 A VueUse 按 SSR 安全设计,浏览器专属函数在客户端生效,Nitro 服务端应使用 Nuxt 内置的数据与存储能力 ✓ 正确答案 B VueUse 的所有函数都可在服务端直接使用 C useMouse 在服务端返回鼠标实时位置 D VueUse 无法与 Nuxt 自动导入配合
# 10. Nuxt 的模块机制(nuxt.config.ts) 在国际化/可访问性的工程取舍 A 自定义模块无法注入运行时插件 B nuxt.config.ts 无法声明第三方模块 C 国际化只能手写路由实现 D Nuxt 模块在 nuxt.config.ts 声明,构建期扩展能力,i18n/a11y 等生态能力以模块形态集成 ✓ 正确答案
# 11. Vue Router 数据加载(beforeRouteEnter/navigation guards) A 守卫中的异步请求无需处理竞态 B beforeRouteEnter 中可以自由使用 this C 数据预取只能放在组件挂载后执行 D beforeRouteEnter 无法访问组件实例,可经 next(vm => ...) 在挂载后加载数据;现代实践也可在守卫中 await 预取 ✓ 正确答案
# 12. Pinia 的 getActivePinia 与 SSR 多个 Pinia 实例的隔离 A SSR 全局共享一个 Pinia 实例性能更好 B SSR 应为每个请求创建独立 Pinia 实例避免状态串扰,水合时用序列化 state 重建 ✓ 正确答案 C getActivePinia 返回的是全局唯一的实例 D useStore 无法指定要使用的 Pinia 实例
# 13. Vue Router 的别名、命名视图、动态路由匹配 :pathMatch(.*)* 的工程价值 A 命名视图只能用于嵌套路由 B alias 会创建独立的新组件实例 C alias 复用同一路由的多 URL,命名视图按 name 渲染多个视图,:pathMatch(.*)* 捕获剩余路径做 404 与多级匹配 ✓ 正确答案 D catch-all 路由应放在路由表最前面
# 14. Pinia $subscribe/$onAction 在调试与日志的工程价值 A $subscribe 记录状态变更,$onAction 记录 action 调用(含成功/失败回调),可统一接入调试与埋点 ✓ 正确答案 B $onAction 只能监听 action 的开始时机 C $subscribe 无法感知 patch 方式的状态修改 D $subscribe 的回调无法获知修改了哪个状态
# 15. Pinia 与 Vuex 4 的迁移与能力对比 A Pinia 移除 mutations、采用扁平多 store 并原生支持类型推导,迁移时需将 mutations 合并进 actions ✓ 正确答案 B Pinia 保留 Vuex 的嵌套 modules 结构 C Pinia 的 state 修改必须通过 commit D Vuex 4 与 Pinia 的 API 完全兼容,无需改动
# 16. Vue Router 4 的导航守卫(全局、路由独享、组件内) A afterEach 可以取消导航 B 导航顺序为 beforeEach → beforeEnter → 组件内守卫 → beforeResolve → afterEach,取消用 return false ✓ 正确答案 C beforeEnter 对所有路由生效 D Vue Router 4 必须调用 next() 才能继续导航
# 17. Vue Router 4 的 meta 字段在权限与标题管理的工程应用 A 子路由的 meta 会完全覆盖父级 B meta 只能存储字符串类型 C meta 可承载权限、标题等元信息,嵌套路由链上 meta 合并,守卫与组件内均可读取 ✓ 正确答案 D meta 无法用于权限判断
# 18. Pinia 的插件机制在持久化(pinia-plugin-persistedstate) A 持久化插件用 $subscribe 监听变化写存储、初始化时读取恢复,并支持按字段、存储与版本迁移配置 ✓ 正确答案 B 持久化插件只能使用 localStorage C 持久化会自动处理数据版本迁移,无需配置 D 持久化状态在 SSR 阶段即可安全读写
# 19. Pinia 与 Vue Router 的状态管理协作(路由参数转 store) A 路由参数通过 watch route 同步进 store 驱动数据请求,需处理竞态;可分享状态放 URL、会话状态放 store ✓ 正确答案 B store 中读取路由参数后无需再同步更新 C 路由变化时 store 会自动更新无需监听 D URL query 应存放所有业务状态
# 20. Pinia 在 SSR 模式下的状态序列化与水合工程边界 A SSR 每请求独立实例,state 序列化注入 payload,客户端重建,需保证可序列化与两端一致 ✓ 正确答案 B SSR 与客户端共享同一个 Pinia 实例 C 序列化会自动处理函数与循环引用 D 客户端专属状态可直接写入 store 参与水合
# 21. Vue Router 4 的 <router-link> 与 <router-view> 的现代应用 A router-view 无法用于嵌套路由 B router-link 只能接收字符串路径 C router-link 渲染的元素无法自定义 D router-view 的 v-slot 可解构 Component 与 route,配合 keep-alive/transition 实现路由缓存与动画 ✓ 正确答案
# 22. Pinia 的 getters 在派生状态与计算缓存的现代应用 A getters 基于 computed 缓存派生结果,依赖变化才重算;传参用返回函数的 getter(不缓存) ✓ 正确答案 B getters 每次读取都重新计算 C getters 内部可以执行异步请求 D getters 无法访问其他 store
# 23. Pinia 的 actions 在异步操作与错误处理的工程取舍 A 异步错误只能丢弃,无法处理 B action 必须是同步函数 C action 内直接改 state 并建模 loading/error/data,按错误消费方决定抛出或落状态,插件可统一拦截上报 ✓ 正确答案 D action 无法调用其他 store 的方法
# 24. Vue Router 4 的路由组件缓存(<keep-alive>)在多步骤表单的应用 A keep-alive 无法配合 router-view 使用 B keep-alive 缓存后表单数据无法读取 C 步骤切换后缓存自动清除 D keep-alive 缓存路由组件保留步骤状态,用 include/meta 控制范围,提交后需清理缓存;也可用 store 提升状态替代 ✓ 正确答案
# 25. Pinia 的测试工具(@pinia/testing)在单元测试的工程实践 A 测试 pinia 无法注入组件 B @pinia/testing 只能测试真实网络请求 C createTestingPinia 默认 stub actions 为 spy,可预设 initialState,用于组件与 store 契约的单元测试 ✓ 正确答案 D stubActions 模式下 action 仍会执行真实逻辑
# 26. Vue Router 4 的历史模式(createWebHistory) A createWebHistory 基于 History API,需服务端 SPA fallback 支持,子路径用 base 配置 ✓ 正确答案 B createWebHistory 无需任何服务端配置 C hash 模式 URL 更美观 D createMemoryHistory 用于生产浏览器环境