4

多くのbowerとnpmの依存関係(bower.jsonとpackage.json)を使用して、既存のプロジェクトをTypeScriptに変換しています。tsd github ページによると、

TSD は、node または bower でインストールされたパッケージからの定義の検出とリンクをサポートします。link コマンドを使用すると、tsd.d.ts が node_modules または bower_modules フォルダー内のファイルへのパスで更新されます。

ただし、package.json がモジュールでいっぱいであるにもかかわらず、コマンドtsd linkを実行すると、コマンドtsd initが表示されます。no (new)packages to linkこれにより、私が思っていることをしない可能性があることを発見しました。

この機能は、typescript 要素の package.json および bower.json ファイルをスキャンします。この要素には、.d.ts ファイルへの相対パスを含む定義または定義サブ要素が含まれます。

何?linkpackage.json から型定義を取得するだけではない場合、この機能の目的は何ですか? このコマンドは、tsd.json ファイルではなく、package.json から tsd 構成をプルするだけですか? では、tsd.json ファイルを削除する以外に、ポイントは何ですか?

そうでない場合tsd linkは、すべての依存関係の tsd 定義を自動的に含めるより良い方法があるかどうかを尋ねています。これらがすべて手作業で管理されるとは、私にはちょっとクレイジーに思えます。

4

1 に答える 1

2

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パッケージがファイルと定義構成を提供しない場合、このコマンドは何も実行できません。

于 2015-11-28T06:33:33.683 に答える