You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Nuxt3服务端路由useQuery报错:Cannot find name 'xxx'

解决Nuxt3服务端路由中useQuery的TypeScript错误

你的问题出在服务端路由中误用了useQuery——useQuery是Nuxt3专为组件/Composable设计的客户端/服务端通用钩子,不能直接在服务端路由的原始事件处理逻辑里调用。

在Nuxt3的服务端路由中,获取URL查询参数直接从H3的event对象上取即可:

  • 替换const query = useQuery(event);为const query = event.query;

修改后的完整代码:

return new Promise<any>((resolve, reject) => {
  (async () => {
    try {
      const cookie = event.req.headers.cookie || "";
      const query = event.query; // 直接从event获取query

      console.log(cookie);
      const res = await fetch(
        "https://auth-xx.westeurope.cloudapp.azure.com/v1/auth/rpc/o2/sessions/whoami",
        { headers: { Accept: "application/json", Cookie: cookie } }
      );
      console.log("data");
      const data = await res.json();
      console.log(data);

      resolve(data);
    } catch (e) {
      reject(e);
    }
  })();
});

额外注意事项:

  • 若需要类型提示,可导入H3事件类型并声明:import type { H3Event } from 'h3';,再给event指定类型event: H3Event
  • 避免用any作为Promise泛型,建议根据接口返回结构定义具体类型,提升TypeScript类型安全性

内容的提问来源于stack exchange,提问作者v-kessler

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.27 14:45:00