2016-08-15 4 views
0

結果のJavaScriptファイルを./src/にビルドするためのTypeScriptプロジェクトが設定されています。これは、既存のnpmモジュール(Angular 2プロジェクトだから、それらをインポートするが、私はこの場合は重要ではないと思う)に対してビルドするときは、完璧にうまく動作する。TypeScript - 外部npmモジュールをインポートすると、tscの出力フォルダが変更されます

私は特定のNPMモジュールをインストールします(私は作者午前ng2-dynamic-dialogている)およびそのモジュールから何かをインポートし、TSCはsuddently別のフォルダにはJavaScriptを構築します(というよりも./src/するためにそれを構築し、それは今建物の./src/src/に)、node_modulesフォルダのコピーを./src/に作成します。このフォルダには、ng2-dynamic-dialogだけが含まれています。

これは例がここにありますので、 https://github.com/leewinder/ng2-dynamic-dialog(シャ - 8ef439d6)は、おそらく素晴らしいexplinationではありませんあなたが枝を開発し、./samplesでTSCを実行するのクローンを作成する場合は、そのJSファイルを参照してくださいよ

./srcに正しく構築されています。 src/samples/samples.component.tsを開き、 'ng2-dynamic-dialog'の 'import {Ng2DynamicDialogComponent}'行のコメントを外した場合、そして再びTSC実行し、あなたはそれのsrc /は今./src/srcが含まれており、

{ 
    "compilerOptions": { 
    "target": "es5", 
    "outDir": "src/", 
    "module": "commonjs", 
    "moduleResolution": "node", 
    "sourceMap": true, 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "removeComments": false, 
    "noImplicitAny": false, 
    "watch": true, 
    "diagnostics": true, 
    "listFiles": true 
    } 
} 

を次のように私は「OUTDIRを変更した場合

マイtsconfig.jsonが設定されて./src/node_modules表示されます'を./にすると、この重複フォルダの問題は発生しなくなりますが、なぜこの1つのnpmパッケージを参照するとこの問題が発生しますか?

この問題はNPMモジュールをsystemjs.config.jsに追加したかどうかにかかわらず発生するため、関連していないようです。

私の設定または私のnpmパッケージには何かがあると仮定できますが、npmパッケージはうまくいくようです。

npmパッケージへのソースは、上記と同じですが、開発フォルダにあります。

私は現時点ではレンガの壁に頭を打っているので、助けがあれば大変感謝しています。外部NPMモジュールをインポート

答えて

2

ではなく、それは魔法のように決定されるのベースディレクトリにロックするcompilerOptions.baseDirオプションを使用

を変更するにはTSCの出力フォルダの原因となります。

+0

baseDirを認識しませんでしたが、compilerOptions.rootDirを認識しました。 rootDirをsrc /に設定し、_removing_ compilerOptions.outDirが問題を解決したようです。ディレクトリを_anything_に設定すると、OPで説明したのと同じ問題が発生しました。 –

関連する問題