JsDoc:将参数类型定义为来自外部模块的类型

Posted

技术标签:

【中文标题】JsDoc:将参数类型定义为来自外部模块的类型【英文标题】:JsDoc: Defining param type to be a type from an external module 【发布时间】:2017-11-21 06:25:48 【问题描述】:

这似乎应该有一个明显的答案,但我找不到。

var mongoose = require('mongoose')
/**
* @param Mongoose.Model fooModel
*/
function ExecuteAQueryUsingModel(fooModel) 

我实际上是在尝试将参数定义为Mongoose.Model,这是一个使用猫鼬模型构造函数构造的变量。我不知道如何将 jsdoc 类型设置为像这样外部定义的类型。

【问题讨论】:

【参考方案1】:

我可能在这里如履薄冰,因为我只是一个业余爱好者,而且我只是使用 JSDoc 在 Visual Studio Code 中获取 IntelliSense。 这个 JSDoc 解决了我的问题:

/** @param import("express").Response expressResponse */
function send(expressResponse) 
    expressResponse.send('OK');

我在http://usejsdoc.org/tags-param.html 中找不到语法,所以这可能是特定于打字稿的。 这是我发现这个想法的地方:https://www.typescriptlang.org/docs/handbook/type-checking-javascript-files.html

希望这能提供一些帮助,尽管它可能并不完全正确。

【讨论】:

以上是关于JsDoc:将参数类型定义为来自外部模块的类型的主要内容,如果未能解决你的问题,请参考以下文章

我可以根据 @param 类型的形状定义 JSDoc @return 类型吗?

使用 JSDoc 给 js 项目添加类型注释

LayaBox---TypeScript---JavaScript文件类型检查

在 VS Intellisense 的 JSDoc 类型定义中记录数组

有没有办法只找到未使用的 JSDoc 类型定义?

使用从 JSDoc 生成的类型声明:TS7016