Nia*_*all 6 javascript node.js visual-studio-code typescript-typings
我正在设置一个使用本机加载项的node.js项目.本机加载项包括大量导出的函数.我设置了一个typings文件(.d.ts),其中包含从本机加载项导出的所有函数定义和数据等.当我用npm包装所有这些并将其安装到客户端项目中时,vscode intellisense会获取所有类型,一切都很好.
当我尝试test.js在与原生插件相同的项目中使用a 的类型时,不会选择输入,特别是导出的变量; 我怀疑它与它们的导出方式.d.ts或模块的命名有关.d.ts.
在.d.ts,我把出口列为;
interface MyI {
Initiate() : void;
}
module 'modulename' {
export var i : MyI;
}
Run Code Online (Sandbox Code Playgroud)
我require在客户端的模块为(.js文件);
var i = require("modulename");
Run Code Online (Sandbox Code Playgroud)
在测试代码中,我要求它(因为我通过index.js文件存根);
var i = require("./index.js");
Run Code Online (Sandbox Code Playgroud)
该index.js反过来样子;
var i = require("./lib/nativeaddon");
module.exports.i = i;
Run Code Online (Sandbox Code Playgroud)
当我使用附加组件(通过index.js)时,如何让vscode在本地使用intellisense 的输入test.js?
要为 vscode intellisense 创建适用于“本地”情况(使用test.js)和“全局”情况(作为 node_module)的类型,在 main/entry 之后命名文件就.js可以了。在这种情况下,"main"文件是index.js,所以打字变成了index.d.ts。
这看起来确实很自然,但我无法找到指定这一点的 vscode intellisense 文档。
我之前已将类型命名为 package/node_module 名称packagename.d.js) 并将"main"(from package.json) 保留为index.js。中的“typings”值package.json也应该与.d.ts文件名匹配。
我认为“index.js”或“main.js”的一个巧妙替代方案是在包名称之后命名主入口点和相应的类型。
| 归档时间: |
|
| 查看次数: |
3359 次 |
| 最近记录: |