我是WebStorm的新用户和非常新的TypeScript程序员。我试图将打字稿与库libstl一起使用。这是我目前在编辑器中的代码。
var PriorityQueue = require('libstl').PriorityQueue;
var queue = new PriorityQueue();
我能够毫无问题地编译为JavaScript,但自动完成功能对变量queue
的方法不起作用(即输入queue.
并不显示它拥有的任何方法,例如enqueue()
或dequeue()
)。
如何通知WebStorm这个库,以便它可以在自动完成中显示这些方法?
答案 0 :(得分:0)
安装libstl(npm install libstl --save
)后,在javascript文件中完成正常。但是,在解决打字稿中的CommonJS调用时,WebStorm不使用node_modules(此外,除非您的项目中有node.d.ts,否则'require()'函数本身对于WebStorm是未知的)。
一般来说,我建议在.ts文件和JavaScript中使用Typescript语法 - 在.js中。例如,按如下方式更改代码:
import PriorityQueue = require('./node_modules/libstl/Datastructures/PriorityQueue')
var queue = new PriorityQueue();