通常,当我想引用JSDoc中的一个类但不需要导入它时,我会这样做,这里SimpleLRU
是我编写的一个实际类:
/** @typedef {import("../js/SimpleLRU.js").default} SimpleLRU **/
那么我可以这样做,而不实际依赖于它:
你可以看到类中一些方法的提示,我现在要做的是,我想把一个express route函数放在一个单独的文件中,因为它太长了,但是我还想知道express传递给它的request
,response
和next
参数的提示,所以我这样做了,记住,这里不需要express:
/** @typedef {import("express").default} express **/
/**
* @param {express.Request} request
* @param {express.Response} response
*/
function my_router(request, response, next) {
}
export default my_router;
但是如果我写request.
,我不会得到任何提示,如果我用实际的import替换typedef,它会立即工作:
import express from "express"
如果我尝试像fs
这样的节点内部包,也会出现同样的情况。那么我如何对内部包执行此操作,就像它对本地文件执行此操作一样?
1条答案
按热度按时间4xrmg8kj1#
我是这样解决的,在
typedef
上我去掉了default当我在javadoc上设置参数时,我使用了括号
如果不起作用,请尝试安装
@types/express
让我知道:)