繁体   English   中英

如何在node.js项目中将.d.ts类型本地用于vscode intellisense?

[英]How to use the .d.ts typings locally for vscode intellisense in a node.js project?

我正在设置一个使用本机加载项的node.js项目。 本机加载项包括大量导出的功能。 我已经设置了一个.d.ts文件( .d.ts ),其中包括从本机加载项导出的所有功能定义和数据等。 当我用npm打包所有这些内容并将其安装到客户端项目中时,vscode intellisense会选择所有类型,一切都很好。

当我尝试在与本机加载项相同的项目中为test.js使用类型时,不会选择类型,特别是导出的变量; 我怀疑它是与他们在出口的方式.d.ts ,或在模块的命名.d.ts

.d.ts ,我的出口列为:

interface MyI {
    Initiate() : void;
}

module 'modulename' {
    export var i : MyI;
}

require客户端中的模块为( .js文件);

var i = require("modulename");

在测试代​​码中,我将其要求为(因为我将其index.js文件中);

var i = require("./index.js");

index.js看起来像;

var i = require("./lib/nativeaddon");

module.exports.i = i;

当我将插件(通过index.js )用于test.js时,如何让vscode在本地使用intellisense的test.js

为了为vscode intellisense创建类型以同时适用于“本地”用例(与test.js一起test.js )和“全局”用例(作为node_module),在main / entry .js完成后命名文件。 在这种情况下, "main"文件是index.js ,因此index.d.ts变为index.d.ts

这看起来很自然,但是我无法找到这样指定vscode intellisense的文档。

我以前曾以package / node_module名称packagename.d.js命名类型,然后将"main" (来自package.json )保留为index.js package.json中的“ .d.ts ”值也应与.d.ts文件名匹配。

我想一个很好的替代“ index.js”或“ main.js”的方法是,在包名之后命名主入口点和相应的类型。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM