我正在开发一个库,该库允许用户从另一个应用程序内部运行Node进程。该库称为“ max-api”;将数据发送到主机应用程序的功能通过Node模块公开,并以预期的方式加载:
const maxAPI = require("max-api");
但是,用户永远不会直接与此模块进行交互。相反,当宿主应用程序启动Node进程时,它将拦截对require的调用,检查模块的名称是否为“ max-api”,如果是,则提供模块。
这很好用,唯一的问题是我们无法为该模块提供类型定义。因此,用户不会在“ max-api”模块中获得任何自动完成或功能验证。我当时正在考虑编写VSCode扩展来提供这些扩展,但是我不确定100%如何入门。预先感谢您的任何建议。
答案 0 :(得分:0)
您可以编写TS类型文件(请参见Definitely Typed)。它将安装在node_modules/@types
中,vscode会自动选择它来为您的模块提供代码完成。