2

"ag-grid": "4.0.5"在一个项目中使用 Angular 1.5.2 和带有 Visual Studio 2015 的 Typescript。

tsd 可用的类型定义(使用命令tsd install ag-grid --resolve --save安装以下内容: https ://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/ag-grid 但这似乎是一个非常旧的版本 2.1.2 基本上没有什么用对于我的项目。

我已经看到这个项目是使用打字稿开发的。有什么方法可以在我的项目中使用项目的内部打字稿定义?我尝试 /// <reference path="../../bower_components/ag-grid/main.d.ts" />在我的 TS 文件顶部添加,但由于该类型定义上没有模块/命名空间,我不能像以前那样引用类型(例如:),ag.grid.GridOptions也不能像全局可用一样引用类型(例如let test: GridOptionsWrapper:)我的打字稿文件不会编译。

我正在使用 Visual Studio 2015 作为 IDE,如果有另一种方法可以让 Visual Studio 了解内部类型定义,/// <reference path="../../bower_components/ag-grid/main.d.ts" />我不知道该怎么做。

有类似情况的人吗?

PS:更多详情见https://www.ag-grid.com/forum/showthread.php?tid=3581&pid=8414

更新:我按照 Niall 的回答尝试了导入建议,但是一旦包含导入语句,就找不到我的内部角度模块。示例:我可以添加: import bb = require("../../bower_components/ag-grid/main.d"); 然后 intellisense forbb.可以完美地找到 main.d.ts 中的所有类型,但是随后let a:app.services.IMyService停止编译之类的行表明 Module 'app' 没有导出的成员服务。在添加该 require 行之前,这是有效的。

如果我只是添加 /// <reference path="../../bower_components/ag-grid/main.d.ts" /> ,那么它无法编译并出现错误, Cannot compile modules unless the '--module' flag is provided. 我无法找到为什么会出现此错误的答案。

4

1 回答 1

0

打字稿定义随项目一起提供。请参阅 main.d.ts 文件(在项目的根目录中)。

如果您自己使用 TypeScript,只需使用“导入”引用文件,那么您的 IDE 应该会自动获取类型。

或者您可以使用<reference>typescript 标签直接引用它们,或者指向 main.d.ts 文件,或者引用 dist/lib 中的文件

请注意,打字稿文件包含在项目 src 中),因此您可以直接引用打字稿文件,而无需打字。

于 2016-03-27T16:58:50.427 回答