设置是一个“Create React App”,带有以下 jsconfig.json :

{
  "compilerOptions": {
    "experimentalDecorators": true,
    "baseUrl": "src"
  },
  "include": ["src"]
}
目录结构:
.
└── src
    └── Components
        └── Foo
            ├── Bar
            │   ├── Bar.js
            │   ├── Bar.d.ts
            │   └── index.js
            ├── Foo.js
            └── index.js
// React component `Foo` imports a component `Bar`:

import { Bar } from './Bar'

export function Foo(props) {
  //
}
// And gets full intellisense via `Bar.d.ts`:

type Props = {
  /** ... */
}

export declare function Bar(
  props: Props
): React.FunctionComponent
但是 Bar.js 本身并没有从它自己的 Bar.d.ts 文件中获得智能感知,有没有办法修复它?我尝试了三斜线指令 ( /// <reference path="Bar.d.ts"/> ),但没有帮助。一些 JSDoc 有帮助,但是有一个专门的声明文件并且仍然使用 JSDoc 是没有意义的;它也可能只适用于 VSCode,这是不可取的:
export function Bar(
  // When `type Props` is exported from the `.d.ts`:
  /** @type {import("./Bar").Props} */ props
) {

最佳答案

截至 2020 年 9 月,这是为了 ( source ):

跟随 TypeScript 的发展,看看它在 future 是否会发生变化。

关于javascript - VSCode 仅在导入到某处时才通过相应的 Foo.d.ts 为 Foo.js 提供智能感知;如何在 Foo.js 本身中启用智能感知?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48060979/

10-13 00:27