2016-09-06 15 views
0

私はtypescript(プロジェクトプロジェクト)で書かれており、typescript(のアプリケーションプロジェクト)で書かれた別のプロジェクトによって消費されるプロジェクトを持っています。 libプロジェクトは単一のjsファイルにコンパイルされ、宣言ファイルを生成します。すべてが期待どおりに動作しますが、生成された宣言ファイルはlibにプロジェクトでトップTypescript宣言が参照で生成されるのはなぜですか?

/// <reference path="typings/index.d.ts" /> 

でこの参照が含まれていますがtsconfig.jsontypingsディレクトリがあるが、それが唯一の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の解決策があることを願っています。偽

答えて

0

typescriptですコンパイラオプションのためのドキュメントを確認してください:)

https://www.typescriptlang.org/docs/handbook/compiler-options.html

--declarationブール(デフォルト)は、対応する「.d.ts」ファイルを生成します。

あなたのTSconfig(オプション行3)で、それは離れて行く必要がありますオフ場合は、有効にした場合、あなたは唯一のタイピングのための参照(.d.tsファイル)

を必要としています。

乾杯

+0

私はあなたの答えを理解していません。私は 'd.ts'ファイルを望んでいますが、私はそれらの生成されたファイルの中で参照をしたくありません。 –

関連する問題