设置是一个“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/