如何使用Intellisense将节点模块导入到TypeScript中?
我试图导入节点模块,Q到我的TypeScript项目,并希望得到Intellisense工作100%
这是有效的,但q被设置为any
,这意味着没有智能感知。 我也必须使用Q和Q的混合,这会混淆。
/// <reference path="Scripts/typings/q/Qdts" /> module example { // no intellisense on q var q = require('q'); // we do get intellisense on deferred though var deferred: Q.Deferred<void> = q.defer(); }
我们不能这样做,因为Q是一个模块,所以:Q
部分会导致错误。
/// <reference path="Scripts/typings/q/Qdts" /> module example { // BAD: this doesn't work var q: Q = require('q'); }
文件结构:
Q is in /node_modules/q/ Qdts is in /Scripts/typings/q/Qdts
我正在使用Visual Studio 2013 SP4和TypeScript 1.4
注意:我已经看到类似的问题,但这些解决scheme不适用于新版本的打字稿。
var q: typeof Q = require('q');
或者,您可以将require
调用移动到module
块之外,并使用`import来代替:
import q = require('q');