私はtypescript(プロジェクトプロジェクト)で書かれており、typescript(のアプリケーションプロジェクト)で書かれた別のプロジェクトによって消費されるプロジェクトを持っています。 libプロジェクトは単一のjsファイルにコンパイルされ、宣言ファイルを生成します。すべてが期待どおりに動作しますが、生成された宣言ファイルはlibにプロジェクトでトップTypescript宣言が参照で生成されるのはなぜですか?
/// <reference path="typings/index.d.ts" />
でこの参照が含まれていますがtsconfig.json
隣typings
ディレクトリがあるが、それが唯一のlibプロジェクトのために必要です。宣言ファイルに参照として含めるべきではありません。ここに私のtsconfigがあります
{
"compilerOptions": {
"module": "commonjs",
"experimentalDecorators": true,
"declaration": true,
"noImplicitAny": false,
"removeComments": true,
"preserveConstEnums": true,
"outFile": "proj-lib.js",
"sourceMap": true
},
"include": [
"./js/**/*.ts"
]
}
なぜ私の宣言ファイルには参照が含まれていますか?
一時的な解決策
宣言ファイルからの参照を削除するgulp-regex-replace
を使用しました。
tsResult.dts
.pipe(replace({regex: /\/\/\/\s*<reference[^>]+>\s*/g, replace: ''})) // remove references in declaration file
.pipe(gulp.dest(target));
これは理想的ではありません。私は、tscの解決策があることを願っています。偽
私はあなたの答えを理解していません。私は 'd.ts'ファイルを望んでいますが、私はそれらの生成されたファイルの中で参照をしたくありません。 –