我正在将一个现有的项目转换为具有多个bower和npm依赖项的TypeScript (bower.json和package.json)。根据tsd github页面的说法
TSD支持从安装有节点或bower的包中发现和链接定义。使用链接命令,您的tsd.d.ts将被更新为指向node_modules或bower_modules文件夹中的文件的路径。
然而,当我在tsd init之后运行命令tsd init时,它只是表示no (new)packages to link,尽管我的package.json中满是模块。这让我发现,也许它并没有做我想做的事情。
此功能将扫描package.json和bower.json文件以获取类型记录元素。然后,该元素包含包含.d.ts文件相对路径的一个或多个定义子元素:
什么?如果这个link特性不只是从我的package.json获得类型定义,它的目的是什么?这个命令仅仅是为了从我的package.json中而不是在我的tsd.json文件中提取tsd配置吗?那么,除了消除tsd.json文件之外,还有什么意义呢?
因此,如果不是tsd link,我想问是否有更好的方法来自动包含所有依赖项的tsd定义。在我看来,这些都是用手来管理的,这似乎有点疯狂。
发布于 2015-11-28 06:33:33
tsd link不是一个神奇的命令。当我第一次看到这个命令的时候,我想就像你一样。
如果您通过bower或NPM安装了新的包,并且包与.d.ts捆绑在一起,并且配置文件中也有一个"typescript": { "definition": "..." },那么.d.ts将包括在您的tsd.d.ts文件中,如下所示:
/// <reference path="jquery/jquery.d.ts" />
/// <reference path="../bower_components/angular/angular.d.ts" />如果包不提供d.ts文件和定义配置,则此命令无法执行任何操作。
https://stackoverflow.com/questions/33700884
复制相似问题