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

FaunaDB如何正确导入Document类型?TypeScript无法识别values模块导出

问题原因

你写的解构语法是尝试获取运行时环境中存在的Document变量,但根据给出的类型定义,Document是仅存在于TypeScript类型体系的类型定义,不属于实际导出的JavaScript运行时值,因此无法通过运行时解构的方式获取,编译器自然会识别失败。

正确使用方式

方法1:直接使用模块下的类型

不需要单独提取,直接在类型标注位置调用values.Document即可:

import { values } from "faunadb";

// 示例:定义承载用户数据的Document类型
type UserDoc = values.Document<{
  username: string;
  avatar: string;
}>;

方法2:单独提取Document类型复用

如果需要频繁使用该类型,可以单独提取出来全局复用:

// TypeScript 3.8+ 支持的类型导入写法,编译后无残留
import type { values } from "faunadb";
type Document<T = object> = values.Document<T>;

// 后续直接使用Document类型即可
const article: Document<{ title: string; content: string }> = await faunaQuery();

异常排查

如果按上述写法仍然无法识别类型,可以先检查两项配置:

  • 如果你使用的是旧版本faunadb,需要手动安装对应的类型声明包:npm i @types/faunadb -D
  • 检查tsconfig.json中的moduleResolution配置,建议设置为NodeNext或Bundler适配现代包的导出规则

内容的提问来源于stack exchange,提问作者lmonninger

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 02:39:01