网站搜索

Visual Studio 2017 - VS2017 中 TypeScript 类型定义文件的命名约定?


我通过 NuGet 为 AngularJS、Jasmine 和 jQuery 安装了类型定义:typings-files 结构

这是我的 tsconfig.json:

{
  "compilerOptions": {
    "target": "es5",
    "module": "umd",
    "sourceMap": true,
    "typeRoots": [ "./Scripts/typings" ],
    "types": [ "jasmine", "angularjs", "jquery" ]
  },
  "compileOnSave": true,
  "include": [
    "Areas/Internet/Scripts/**/*.ts",
    "Areas/Internet/Scripts/*.ts"
  ]
}

在构建项目时我得到了这些错误:

Error       Build:Cannot find type definition file for 'jquery'.
Error       Build:Cannot find type definition file for 'jasmine'.
Error       Build:Cannot find type definition file for 'angularjs'.

这个问题通过在每个文件夹中创建一个 index.d.ts 文件来解决,引用其他文件——例如对于 angularjs,index.d.ts 文件看起来像这样:

/// <reference path="angular.d.ts" />
/// <reference path="angular-animate.d.ts" />
/// <reference path="angular-component-router.d.ts" />
/// <reference path="angular-cookies.d.ts" />
/// <reference path="angular-mocks.d.ts" />
/// <reference path="angular-resource.d.ts" />
/// <reference path="angular-route.d.ts" />
/// <reference path="angular-sanitize.d.ts" />

我只是想知道为什么必须有一个名为 index 的文件。看起来 nuget 安装应该默认就能工作,而且我在文档中找不到关于这方面的任何信息。