如何使用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');
- 什么是“js”方法在gulp上(对于使用gulp-typescript的Typescript项目)
- 如何在Typescript中覆盖属性是不可空的
- 如何在一个项目中设置Angular 2,Node(Hapi.js)和TypeScript?
- stripe angular错误:Uncaught(在promise中):TypeError:无法读取未定义的属性'stripeService'
- types安装不适用于已configuration的打字稿定义
- Typescript生成的JavaScript有一个不是函数的函数
- Angular 2testing不能加载自定义包
- 如何从其他js文件扩展类而不需要声明文件
- angular度谷歌login模块投掷404