如何自动将bd定义与bower和npm相关联?

时间:2015-11-13 20:03:06

标签: javascript npm typescript bower tsd

我正在将现有项目转换为具有许多bower和npm依赖项(bower.json和package.json)的TypeScript。根据{{​​3}},

  

TSD支持从包中发现和链接定义   安装节点或凉亭。使用link命令,您的tsd.d.ts将更新为node_modules或bower_modules文件夹中文件的路径。

然而,当我在tsd link之后运行命令tsd init时,它只是说no (new)packages to link,即使我的package.json是装满模块的粉笔。这让我发现,也许它没有做我认为它做的事情。

  

此功能将扫描package.json和bower.json文件   打字稿元素。然后该元素包含定义或   包含.d.ts文件的相对路径的definitions子元素:

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

因此,如果它不是tsd link,我会问是否有更好的方法可以自动包含所有依赖项的tsd定义。对我来说,这些都是手工管理似乎有点疯狂。

1 个答案:

答案 0 :(得分:2)

tsd link不是一个神奇的命令。我第一次看到这个命令的时候就像你一样。

如果您通过bower或NPM安装新软件包,并且软件包与.d.ts捆绑在一起,并且配置文件中也包含"typescript": { "definition": "..." },那么.d.ts将包含在您的{{1}中文件如下:

tsd.d.ts

如果程序包不提供/// <reference path="jquery/jquery.d.ts" /> /// <reference path="../bower_components/angular/angular.d.ts" /> 文件和定义配置,则此命令无效。