如何将tsd定义与bower和npm自动链接

How to link tsd definitions automatically with bower and npm?

本文关键字:npm 链接 bower tsd 定义      更新时间:2023-09-26

我正在将现有项目转换为具有许多bower和npm依赖项(bower.json和package.json)的TypeScript

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

然而,当我在tsd init之后运行命令tsd link时,它只是说no (new)packages to link,尽管我的package.json充满了模块。这让我发现,也许它并没有做到我认为的那样。

此功能将扫描package.json和bower.json文件以查找typescript元素。然后,此元素包含定义或定义包含.d.ts文件的相对路径的子元素:

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

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

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文件和定义配置,则此命令将不起任何作用。