ano*_*ser 5 javascript node.js typescript visual-studio-code
我有一个nodejs项目(用JS)。不幸的是,我必须利用很多节点全局变量。
一切工作正常(甚至很多人建议不要使用全局变量),除了:
全局变量没有智能感知。所以每次我想使用全局函数/对象时,我都需要查看它的代码并找出参数是什么,它返回什么等等。
假设我有一个全局变量,它是一个纯对象:
foo = {
bar: {
level2: {
level3: {
level4: "abc
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
处理它是相当烦人的,因为我在使用它时无法“看到”对象的结构,并且在编写代码时很容易出错。
我发布这个问题的原因是 ...npm 包
有很多用 vanilla JS 编写的包,其中大多数都使用强大的 d.ts 文件。安装该包后,您可以从项目中的任何位置使用它,并且 VS code 将为它们提供智能感知。如果您单击 VS 代码的工具提示(不知道它怎么称呼...类型定义工具提示?),您将导航到包的 d.ts 文件(不是命令的实际实现)。
所以我的问题是如何在我的项目中做同样的事情。我不会将其发布为 npm,我只想在项目中的某个位置有一个 d.ts 文件,这样我就可以使用我的全局文件,而无需在每次需要回忆它的作用时查看其实现。
让你的.d.ts文件里面有任何东西
要访问变量、函数、接口,请在.ts文件中添加此行,VS code IntelliSense 会建议您
/// <reference path="./test.d.ts" />
Run Code Online (Sandbox Code Playgroud)
如果您想在整个项目中使用它而test.d.ts不仅仅是在任何特定文件上。然后添加这一行tsconfig.json
"files" : [ "./src/test.d.ts" ]
Run Code Online (Sandbox Code Playgroud)
更新如评论区所述
我的 js 文件我假设与您想要做的类似
export const testString = 'aditya';
Run Code Online (Sandbox Code Playgroud)
在你的js文件中
/// <reference path="test.js" />
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4847 次 |
| 最近记录: |