typescript-graphql-request生成SDK出现无效导入路径问题求助
问题解答
为什么生成的SDK会导入graphql-request/dist/types.dom?
这是因为旧版本的graphql-request会把构建产物和类型文件放在/dist目录下,早期的typescript-graphql-request工具是基于旧版包结构生成的导入路径。但现在graphql-request的新版本(比如v5之后)已经重构了包结构,不再使用/dist作为导出目录,所有类型和入口都直接放在包根目录,官网的示例可能没同步更新,导致生成的代码还在用旧路径。
要不要构建node_modules里的graphql-request?
完全不需要。npm上发布的graphql-request都是预构建好的,新版本已经把产物和类型直接打包在包根目录,不需要用户手动构建。你看到node_modules里没有/dist目录,是新版本的正常结构。
解决办法
- 修改导入路径:把生成的SDK里的导入语句改成直接从
graphql-request导入Dom类型,比如:import type { Dom } from 'graphql-request'; - 升级工具版本:更新
typescript-graphql-request到最新版,新版工具应该会适配graphql-request的新包结构,生成正确的导入路径。 - 回退包版本(可选):如果暂时不想改代码,可以安装旧版的
graphql-request(比如v4.x版本),这类旧版本会保留/dist目录,能匹配生成的导入路径。
内容的提问来源于stack exchange,提问作者J. Doe
相关产品推荐
相关产品推荐

