私はこの記事に従っています:
私のtypescriptプロジェクトをセットアップしてnpmに公開しようとしています。
すべてが理にかなっているように見えますが、カバーされていないのはd.ts
ファイルの処理方法です。
私のプロジェクトは次のようになります。
src
node
server.ts
browser
client.ts
common
contracts.d.ts
したがって、これをコンパイルすると"declaration": true
、次の"outDir: "dist"
ようになります。
dist
node
server.js
server.d.ts
browser
client.js
client.d.ts
私のserver.ts
ファイルとclient.ts
ファイルの両方が
import {SomeType} from "../common/contracts";
そのため、他の誰かがこのパッケージを使用すると、typescript のコンパイルは失敗しserver.d.ts
、client.d.ts
両方ともまだこのインポートを持っています。
ノードは正常に動作しますが、このインポートはclient.js
ありserver.js
ません。tsc
ファイルのインポートを削除する必要がありd.ts
ます。
私がやりたいことは、contracts.d.ts
ファイルがビルドの一部として dist フォルダーにコピーされることです。tsc
ビルドの一部としてそれを行うにはどうすればよいですか?
現在の回避策
これを回避するために私が現在行っているのは、私の名前contracts.d.ts
を justに変更するcontracts.ts
ことです。これは、必要なすべてのファイルがdistフォルダーに存在することを意味しますが、クライアントとサーバーの両方が、contracts.js
含まれているだけの空のファイルをロードする必要があることを意味します
"use strict";
//# sourceMappingURL=contracts.js.map