2017-07-12 5 views
0

JavaScriptバンドラを使用して、コンパイルされたすべてのTypeScriptファイルを1つのファイルにバンドルします。.NET CoreプロジェクトでバンドルされたTypeScriptファイルをデバッグする方法は?

TypeScriptのデバッグは機能しません(TypeScriptのブレークポイントはトリガーされません)。ファイルが単独で含まれている場合は問題ありません。

しかし、それは私には問題です。私は自分のプロジェクトに多くのTypeScriptファイル(モジュール)を持っており、いくつかのビューにそれらを含めることを望んでいます。私は確かに複数のcshtmlファイルにコピーされたモジュールの完全なリストを保持したくありません。新しいファイルを追加したり、悪夢をリファクタリングしたりするでしょう。だから今、私バンドラは(bundlerconfig.jsonで)このように構成されて

[ 
    { 
     "outputFileName": "wwwroot/css/site.min.css", 
     "inputFiles": [ 
      "wwwroot/css/site.css" 
     ] 
    } 
    , 
    { 
     "outputFileName": "wwwroot/js/modules.min.js", 
     "includeInProject": false, 
     "inputFiles": [ 
      "wwwroot/modules/**/*.js" 
     ], 
     "sourceMap": true, 
     "minify": { 
      "enabled": true, 
      "renameLocals": true 
     } 
    } 
] 

ここに私のtsconfig.jsonです:

{ 
    "compilerOptions": { 
    "noImplicitAny": false, 
    "noEmitOnError": true, 
    "removeComments": true, 
    "sourceMap": true, 
    "target": "es5" 
    } 
} 

ここにそれを使用するビューヘッダー(Logon.cshtmlです):

@section scripts { 
    <script src="~/js/modules.min.js"></script> 
} 
<!-- view definition ... --> 

私は新しいTypeScriptクラスを追加します。自動的にコンパイルされ、バンドルされます。しかし、私はVisual Studioでそれをデバッグすることはできません。個別のファイルを追加するとできます。

デバッグが必要ですが、私のモジュールリストも1か所に必要です。 scriptタグを複数のcshtmlファイルに何十個も追加するのは狂気です。

これにはスマートな解決策がありますか? TypeScriptファイルをバンドルされた共通ファイルにマッピングするソースマップをどうにか生成できますか? Modules.cshtmlは、プロジェクトで使用される各生成されたJSのためのすべてのスクリプトタグが含まれてい

@section scripts { 
#if DEBUG 
Html.RenderPartial("Modules.cshtml"); 
#else 
<script src="~/js/modules.min.js"></script> 
#endif 
} 

ファイル:

答えて

0

は、ここでは、この問題への私の部分的なソリューションです。これは、デバッグ構成でのみ使用されるため(個別のファイルがロードされるため)、リリース構成でバンドルされ、ミニバージョンが代わりに使用されます。

Modules.cshtmlファイルを手動で更新する必要があるため、最適ではありません。

でも、複数のTypeScriptファイルを1つのJavaScriptバンドルにマッピングすることをお勧めします。

関連する問題