lef*_*ick 5 module typescript graphql graphql-tag
我正在使用graphql-tag。我的文件就是这样的。
./操作.graphql
Query User {
...
}
Run Code Online (Sandbox Code Playgroud)
./测试.ts
import { User } from './operation.graphql'; /// Module ''*.graphql'' has no exported member 'User'.
Run Code Online (Sandbox Code Playgroud)
./index.d.ts
declare module '*.graphql' {
import { DocumentNode } from 'graphql';
const value:DocumentNode;
export default value;
}
Run Code Online (Sandbox Code Playgroud)
应用程序运行良好,但我想防止该错误。
当我执行默认导入时效果很好,但正如您所见,我在命名导入时遇到错误。
如何声明这一点?谢谢。:)
如果您想要的导出名称对于每个 GraphQL 文件都不同,TypeScript 将不会解析您的 GraphQL 文件以自动找出它。要么你需要为每个 GraphQL 文件单独的模块声明(并且你需要设置你的baseUrl,paths这样你就可以使用非相对导入,或者将一个d.ts文件放在每个 GraphQL 文件旁边而不是使用declare module,我不是当然):
declare module 'operation.graphql' {
import { DocumentNode } from 'graphql';
export const User: DocumentNode;
}
Run Code Online (Sandbox Code Playgroud)
或者您可以放弃并让所有 GraphQL 文件均为以下类型any:
declare module '*.graphql';
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1526 次 |
| 最近记录: |