【问题标题】:VSCode IntelliSense - how to declare typesVSCode IntelliSense - 如何声明类型
【发布时间】:2020-07-02 21:34:14
【问题描述】:

我正在尝试在我的 JS 项目中尽可能少地使用 TypeScript 类型,以便 IntelliSence 可以提供更好的补全,并且我会收到有关类型相关问题的警告。

我添加了一个jsconfig.json 文件,用于设置 JS 中的类型检查,并且我主要使用 JSDoc 来描述类型。这很好用。

现在我想创建一些我在整个项目中使用的类型。我尝试使用 types.d.ts 但这似乎是特定于 React 的,并且没有记录。

我还尝试将类型放在index.d.ts 文件中,但只有在您从索引导入时才会读取,因此它对于实现从索引导出的内容的组件没有用处。

/// <reference types="." /> 也不会将 index.d.ts 类型导入当前范围。我对当前文件中使用的每种类型都使用了/** @typedef {import('.').Foo} Foo */

是否有一种最小且可维护的方法来管理 typescript 中的类型,但用 javascript 编写其余部分?

【问题讨论】:

    标签: javascript typescript jsdoc


    【解决方案1】:

    如果js文件中的代码是:

    const a = prompt();
    

    代码将是

    /** @type {number} */
    const a = prompt();
    

    将 JSDoc 写入 .js 文件。

    【讨论】:

    • IntelliSense 合并所有打开的文件,因此如果您有 2 个打开的文件,则无需导入
    • 嗯,是的,但我问的是如何在 Typescript 中定义类型。 Jsdoc 的表达力不如 Typescript。
    • 尝试类和对象。没有更多的可能!
    猜你喜欢
    • 2022-08-10
    • 2020-07-25
    • 1970-01-01
    • 2017-02-03
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 2021-04-11
    • 2016-03-12
    相关资源
    最近更新 更多