如何使用来自另一个模块的类型作为 JSDoc return/param 类型

How to use a type from another module as a JSDoc return/param type

我正在尝试使用 JSDoc 来记录我正在制作的机器人的一些功能:

const Discord = require("discord.js");

/**
 * Returns and empty embed with the bot's default settings
 * @param u - The user that executed the command
 * @returns {Discord.RichEmbed}
 */
exports.getDefaultEmbed = function(u) {
    let embed = new Discord.RichEmbed();
    embed.setColor(0xFA632A);
    if (u) embed.setFooter(u.tag, u.displayAvatarURL);
    return embed;
};

如您所见,此函数 returns 来自 discord.js 模块的 RichEmbed 对象,但 WebStorm 似乎不喜欢那样。

那么,如何在 JSDoc 中使用另一个模块中的类型?

因为 WebstormProblem 任何模块名称中带有 . dot/period 的模块都可能导致问题。

一个似乎对我有效的解决方法是,使用 ESMA6 并使用反引号来引用模块。

带正则引号

带反引号