我正在将现有项目转换为具有Bower和npm依赖性(bower.json和package.json)的TypeScript。根据tsd github page



但是,当我在tsd link之后运行命令tsd init时,即使我的package.json充满了模块,它也只是说no (new)packages to link。这使我发现,也许它没有按照我的想法做。



什么?如果link功能不只是从package.json中获取类型定义,它的目的是什么?这个命令是否仅仅是从package.json中提取tsd配置,而不是从tsd.json文件中提取?那么,除了消除tsd.json文件之外,还有什么意义呢?

因此,如果不是tsd link,我在问是否有更好的方法来自动为我的所有依赖项包含tsd定义。对我来说,这些全部由人来管理似乎有些疯狂。

最佳答案

tsd link不是一个神奇的命令。第一次看到此命令时,我想和您一样。

如果您通过Bower或NPM安装新软件包,并且该软件包与.d.ts bundle 在一起,并且在配置文件中也包含"typescript": { "definition": "..." },则该.d.ts将包含在您的tsd.d.ts文件中,如下所示:

/// <reference path="jquery/jquery.d.ts" />
/// <reference path="../bower_components/angular/angular.d.ts" />

如果该软件包不提供d.ts文件和定义配置,则此命令将无效。

10-01 11:54