我现在正在制作一个npm库,想知道其他人如何在VS Code中实现自动完成和变量类型声明。
例如,我可以输入httpconnection.addListener(
,然后弹出一个对话框,告诉我第一个参数的类型为event,第二个参数的类型为function void,依此类推。
这也适用于需要传递对象的函数,例如mysql.createConnection({});
。如果按CTRL +空格键,我现在知道该对象具有具有的属性以及它可以具有的属性。
我知道JavaScript是动态类型的,并且没有固定的类型声明,但是在运行时可以进行转换,但是其他人如何实现呢?
我试图通过使用打字稿括号(variable<Object>
)和其他我在某处(variable?: Object
)找到的变量来添加变量类型,但这两种方法均无效。
我最不希望自动完成功能向人们展示哪些属性 /他们必须的属性,以及他们可以输入的属性, 应该是哪种类型。
我该如何实现?是否可以将JS文件转换为TS文件并在npm上发布而不会出现问题?
谢谢!
答案 0 :(得分:2)
您可以做的一件事是使用JSDOCs,至少是我要做的。
就像我添加的功能一样
/**
* @param {string} somebody
*/
function sayHello(somebody) {
alert('Hello ' + somebody);
}
或者在变量声明前添加一个
/**
* @type {[]}
*/
const x = someRequiredVariable
您可以使用自定义ES6类名作为类型,而不仅仅是原始类型。