【发布时间】:2020-09-04 02:42:27
【问题描述】:
由于 jsDoc 表示法和 tsconfig.json 文件,使用 VSCode 几乎可以从 Typescript 中获得纯 .js 的好处:
{
"compileOnSave": false,
"compilerOptions": {
"noEmit": true,
"allowJs": true,
"checkJs": true,
"target": "es6",
"resolveJsonModule": true,
"moduleResolution": "node",
},
"include": ["index.js", "./src"]
}
/**
* @return {Promise<string>}
*/
const foo = Promise.resolve('hi');
module.exports = foo;
现在,是否可以在node_modules 处引用d.ts 中定义的接口?特别是我正在返回一个 -let's call- "my_dependency.Storage" 对象,但我无法使用纯 javascript 引用它:
/**
* @param {Storage} storage
*/
const goo = storage => ...
会明白我指的是来自lib.dom.d.ts的Web Storage API
- 等效的打字稿是:
import {Storage} from "my_dependency"
- 我尝试使用 triple slash directives 失败
///<reference path="node_modules/my_dependency/lib/index.d.ts" />
- 我期待类似(伪代码)
/**
* @param {my_module.Storage} storage
*/
【问题讨论】:
-
在某些情况下
import('firebase').app.App,这是 TS 2.9 的功能。它可能对您的事业有所帮助。我在我的 JS/TS 项目中使用过一次。 -
@Akxe 直到现在才得到您提到的内容。这正是我正在寻找的语法。谢谢。用一段代码来回答我自己的问题
标签: javascript typescript visual-studio-code