我正试图找到一种方法,使用WebStorm的Discord.js TypeScript类型推断,在一种不冲突的模式下处理TypeScript注释。
以下是“起作用”..。
import Discord from 'discord.js';
/**
* @param {Client} client
* @param {Collection.<Snowflake, Message>} msgs
*/
function handleRemoveMessages(client, msgs) {}

问题在于客户端存在多个定义。

虽然这样做有效,但我希望能够将从discord.js模块导入的类型命名为类似于Discord.Client而不是Client的类型,因为我希望使用其他命名为这样的符号。
比如说..。Message引用的是正确的类型;

Discord.Message似乎在引用正确的类型(但我不相信它是正确的);

两个Message类型引用不兼容,并在提供一个表示另一个引用时抛出一个警告。

也不可能通过JSDoc模块路径引用类型..。


我还尝试了module:discord\.js、module:'discord\.js'和双引号,结果都是一样的。
我知道在JSDoc路径名中使用一个点有点麻烦,而且JetBrains使用的闭包编译器在JSDoc遵从性上可能不会达到100%。
这只是WebStorm或闭包中的一个bug,还是有一种方法可以正确地进行模块类型引用?
发布于 2018-08-11 15:17:00
根据JSDoc 3规范的说法,你需要引用“不寻常”的名字,比如module:"discord.js"。但是它目前不像预期的那样工作,请按照WEB-34348进行更新
https://stackoverflow.com/questions/51793858
复制相似问题