首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何自动将tsd定义与bower和npm联系起来?

如何自动将tsd定义与bower和npm联系起来?
EN

Stack Overflow用户
提问于 2015-11-13 20:03:05
回答 1查看 1.5K关注 0票数 4

我正在将一个现有的项目转换为具有多个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定义。在我看来,这些都是用手来管理的,这似乎有点疯狂。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-28 06:33:33

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

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

代码语言:javascript
复制
/// <reference path="jquery/jquery.d.ts" />
/// <reference path="../bower_components/angular/angular.d.ts" />

如果包不提供d.ts文件和定义配置,则此命令无法执行任何操作。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33700884

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档