在VSCode中获取Javascript类型提示而不导入,这将导致循环依赖
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在VSCode中获取Javascript类型提示而不导入,这将导致循环依赖相关的知识,希望对你有一定的参考价值。
我有一种情况,类A
创建B
的实例,并发送自己作为参考之一。即
a.js
import B from './b';
class A {
constructor() {
this.b = new B(this);
}
}
b.js
class B {
/**
* @param {A} aInstance - The instance of A.
*/
constructor(AInstance) {
this.a = AInstance;
}
}
我想在b.js中导入A以在VSCode中获取类型提示,但这会创建循环依赖关系。有没有办法在不导入的情况下获得类型提示?
答案
在使用TypeScript 2.8进行IntelliSense的VS Code 1.22中并不容易。但是,应该在VS Code 1.24中选择的TypeScript 2.9增加了对jsdocs中类型导入的支持:import('path/to/module')
:
a.js
import B from './b';
export class A {
constructor() {
this.b = new B(this);
}
}
b.js
export class B {
/**
* @param {import('./a').A} aInstance - The instance of A.
*/
constructor(AInstance) {
this.a = AInstance;
}
}
以上是关于在VSCode中获取Javascript类型提示而不导入,这将导致循环依赖的主要内容,如果未能解决你的问题,请参考以下文章
vscode 在 JavaScript 文件中使用类型化定义
如何在 vscode 中使用自己的 javascript 文件获取智能感知