2016-04-26 35 views
1

我是一個非常新的WebStorm用戶和一個非常新的TypeScript程序員。我正在嘗試使用打字稿與庫libstl。這是我目前在編輯器中的代碼。如何使WebStorm的自動完成適用於外部庫?

var PriorityQueue = require('libstl').PriorityQueue; 

var queue = new PriorityQueue(); 

我可以編譯成JavaScript沒有問題,但自動完成沒有對的方法的工作變量queue(即輸入queue.沒有表現出任何的它的方法,例如enqueue()dequeue())。

如何通知WebStorm這個庫,以便它可以在自動完成中顯示這個方法?

回答

0

安裝libstl(npm install libstl --save)後,完成工作正常在JavaScript文件中。但WebStorm在解析打字稿中的CommonJS調用時不使用node_modules(此外,除非您的項目中有node.d.ts,否則'require()'函數本身對WebStorm是未知的)。 一般來說,我建議在.ts文件和JavaScript中使用Typescript語法 - 在.js中。例如,更改您的代碼,如下所示:

import PriorityQueue = require('./node_modules/libstl/Datastructures/PriorityQueue') 

var queue = new PriorityQueue(); 
相關問題