我正在使用Visual Studio Code,并希望在将配置变量声明为普通javascript对象时具有智能感知提示
jsconfig.json
{
"compilerOptions": {
"checkJs": true
},
"include": [
"src/**/*.js",
"types/**/*.d.ts"
],
"exclude": [
"node_modules"
]
}
类型/ index.d.ts
interface Foo {
a: string;
b: number;
}
declare var fooConfig: Foo;
的src / app.js
const fooConfig = {
a: 'hello',
b: 123
}
我希望在声明使用const fooConfig
时,VS代码可能提供关于a
和b
的智能感知,当前结果我收到有关重新声明变量fooConfig
<的投诉消息/ p>
P.S。我真的不知道可能性,但我希望有一些intellisense所以我可以轻松声明我的配置变量
请指导 感谢
答案 0 :(得分:1)
您可以使用JSDoc语法来描述JS文件中的类型:
src / app.js
/** @type {Foo} */
const fooConfig = {
a: 'hello',
b: 123
}
它与您项目中的d.ts文件隐式兼容,因此无需“包含”它们,也无需在d.ts文件中声明var。
答案 1 :(得分:-1)
导入界面后,在JS文件中尝试const fooConfig: Foo = {...}
。就目前而言,TS是对的,你宣布它两次。