如何使用 Intellisense 将节点模块导入 TypeScript?
How do I import node modules into TypeScript with Intellisense?
我正在尝试将节点模块 Q 导入到我的 TypeScript 项目中,并想让 Intellisense 100% 正常工作
这有效,但 q 设置为 any
,这意味着没有智能感知。我还必须混合使用 Q 和 q,这会让人感到困惑。
/// <reference path="Scripts/typings/q/Q.d.ts" />
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/Q.d.ts" />
module example {
// BAD: this doesn't work
var q: Q = require('q');
}
文件结构:
Q is in /node_modules/q/
Q.d.ts is in /Scripts/typings/q/Q.d.ts
我正在使用 Visual Studio 2013 SP4 和 TypeScript 1.4
注意:我在堆栈上看到过类似的问题,但这些解决方案不适用于较新版本的打字稿。
var q: typeof Q = require('q');
或者,您可以将 require
调用移到 module
块之外并改用 `import:
import q = require('q');
我正在尝试将节点模块 Q 导入到我的 TypeScript 项目中,并想让 Intellisense 100% 正常工作
这有效,但 q 设置为 any
,这意味着没有智能感知。我还必须混合使用 Q 和 q,这会让人感到困惑。
/// <reference path="Scripts/typings/q/Q.d.ts" />
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/Q.d.ts" />
module example {
// BAD: this doesn't work
var q: Q = require('q');
}
文件结构:
Q is in /node_modules/q/
Q.d.ts is in /Scripts/typings/q/Q.d.ts
我正在使用 Visual Studio 2013 SP4 和 TypeScript 1.4
注意:我在堆栈上看到过类似的问题,但这些解决方案不适用于较新版本的打字稿。
var q: typeof Q = require('q');
或者,您可以将 require
调用移到 module
块之外并改用 `import:
import q = require('q');