我正在将现有项目转换为具有许多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定义。对我来说,这些都是手工管理似乎有点疯狂。
答案 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" />
文件和定义配置,则此命令无效。