2016-04-26 44 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(); 
相关问题