TL; DR打字稿,声明一个变量与声明模块
是什么意思,当一个变量打字稿声明?例如(来自TypeScript手册或wiki):
declare var d3:D3.Base;
这种情况下的目的是什么?
更多的想法:
据我所知,声明一个模块或命名空间指示它是环境温度,即它不编译成JavaScript,并且仅用于描述对象的形状(类型检查)。但是,变量声明的目的在于避开我。
的问题出现了,因为我一直在寻找从绝对类型(angular.d.ts)的角度声明文件:
declare var angular: angular.IAngularStatic;
// Support for painless dependency injection
interface Function {
$inject?: string[];
}
// Collapse angular into ng
import ng = angular;
// Support AMD require
declare module 'angular' {
export = angular;
}
///////////////////////////////////////////////////////////////////////////////
// ng module (angular.js)
///////////////////////////////////////////////////////////////////////////////
declare module angular {......module declaration continues....
我竭力要弄清楚到底发生了什么事情在这里的“导入“和变量声明。 Visual Studio代码似乎不喜欢导入,但Visual Studio 2015接受它(都使用TypeScript 1.6.2)。
感谢您的链接到你的书。我一定会看看。很有趣,我正在阅读语言规范,并在那里找到了jquery和Window示例:[link](https://github.com/Microsoft/TypeScript/blob/master/doc/spec.md#1.1)是“import “应该以这种方式使用?你为什么认为Visual Studio Code不支持它的用法?错误? – jpetitte
'你为什么认为Visual Studio Code不支持它的用法? Bug?'我尽量不花费时间在非OSS项目上...所以谁知道:) – basarat
TypeScript语言规范的“import”部分的用法是什么?我试图确定是否应该使用该语法。 – jpetitte