簡體   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