【问题标题】:Adding variable type declarations and autocompletion in Node / VS Code在 Node / VS Code 中添加变量类型声明和自动完成
【发布时间】:2018-12-04 10:17:24
【问题描述】:

我现在正在制作一个 npm 库,想知道其他人如何在 VS Code 中实现自动完成和变量类型声明。

例如,我可以输入httpconnection.addListener(,然后我得到一个弹出窗口,告诉我第一个参数的类型是事件,第二个参数的类型是函数void,依此类推。

这也适用于需要传递对象的函数,例如mysql.createConnection({});。如果我按 CTRL + 空格键,我现在知道这个对象必须具有哪些属性以及它可以具有哪些属性。

我知道 JavaScript 是动态类型的,没有固定的类型声明,而是在运行时进行转换,但是这些其他人如何实现呢?

我尝试使用 typescript 括号 (variable<Object>) 和我在某处找到的其他东西 (variable?: Object) 添加变量类型,但两者都不起作用。

我最不希望自动完成功能向人们显示哪些属性 / 他们必须的属性以及他们可以输入的属性和 它们应该是什么类型。

我如何做到这一点?我可以直接将 JS 文件转换为 TS 文件并在 npm 上发布而不会出现问题吗?

提前致谢!

【问题讨论】:

    标签: javascript node.js visual-studio-code variable-declaration type-declaration


    【解决方案1】:

    您可以做的一件事是使用JSDOCs,至少我就是这样做的。

    喜欢我添加的功能,

    /**
     * @param {string} somebody
     */
    function sayHello(somebody) {
        alert('Hello ' + somebody);
    }
    

    或者在变量声明前加一个

    /**
     * @type {[]}
     */
    const x = someRequiredVariable
    

    您可以使用自定义 ES6 类名作为类型,而不仅仅是原始类型。

    【讨论】:

    • 但是对于下载库的每个人都可用还是必须安装它?还是我想错了,需要导入到我的库中?
    • 基本上,当有人安装并需要一个库时,它会获取“主”文件或 index.js 文件,现在如果该文件具有完整的这些 jsdoc cmets,它应该可以工作。
    • 谢谢,这正是我想要的!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-25
    • 2016-09-02
    • 1970-01-01
    相关资源
    最近更新 更多