【发布时间】:2022-02-16 19:56:03
【问题描述】:
我在使用 JSDoc 为我的 JavaScript 代码设置类型提示时遇到了麻烦(尝试使用 VSCode 和 WebStorm 来实现)。
作为第一步,我使用 @graphql-codegen/cli 将 GraphQL 模式转换为一组 JSDoc @typedef 条目。为了这次谈话,让我们谈谈这个:
// schema.js
/**
* @typedef {Object} Country
* @property {string} code
* @property {string} name
*/
然后,在我的App.js 某处我尝试写:
// App.js
const GET_COUNTRIES = gql`
query GetCountries {
countries {
code
name
}
}
`;
/**
* @typedef {import("./schema").Country} Country
* @typedef {import("@apollo/client").QueryResult} QueryResult
* @returns {QueryResult<Country>}
*/
const useGetCountries = () => {
return useQuery(GET_COUNTRIES);
};
但是,schema.js 中的类型定义似乎被忽略了(App.js 和 schema.js 都在同一个目录中)。
我的问题是:是否可以设置这样的东西 - 让 IDE 拾取 JSDoc 类型定义并提供类型提示?如果答案是肯定的,我将如何进行设置?
我在 https://codesandbox.io/s/graphql-type-hints-n1vh0 的 CodeSandbox 上创建了一个简单的重现
【问题讨论】:
标签: javascript apollo-client jsdoc