2016-12-29 11 views
0

Angular2ビルドファイルをCSHTMLファイルに含める。 正規表現のカミソリと一致するすべてのファイルを含む。

現在、私は、次のとおりです。

@section scripts { 
    <script src="~/dist/main.js" asp-append-version="true"></script> 
} 

しかしAngular2が作り出す、それぞれのprodビルドで、ファイル名に異なる識別子を持つファイル。

chunk {0} main.2e0750e4cb976b8dca8a.bundle.js (main) 15.8 kB {3} [initial] [rendered] 
chunk {1} styles.b64dd2f7c2e3011c4efb.bundle.css (styles) 154 kB {4} [initial] [rendered] 
chunk {2} scripts.e7e62c29938f18f13e86.bundle.js (scripts) 128 kB {4} [initial] [rendered] 
chunk {3} vendor.05b8df0708b580c61647.bundle.js (vendor) 3.42 MB [initial] [rendered] 
chunk {4} inline.1b4aa06545162c1bb581.bundle.js (inline) 0 bytes [entry] [rendered] 

これらの識別子が含まれていることを(非キャッシュ目的のために)無効にしたくない場合もあります。人はいくつかの正規表現はインクルードには、作るためにを使用することができgithubの発行ページに答えた:

/(main|styles|scripts|vendor|inline).*.bundle.(map|js|css)/g 

しかし、私は私のC#/ CSHTMLファイルにそれを渡す方法が表示されません。

(wwwrootまたは〜がショートカット)のパターンに一致するすべてのファイルを含むになります。

どのようにこれを達成するためのアイデアですか?

答えて

2

スクリプトの場合はasp-src-includeタグヘルパーを使用し、リンクの場合はasp-href-include(css)を使用できます。

<script asp-src-include="~/dist/main.*.bundle.js" asp-append-version="true"></script> 
<link asp-href-include="~/dist/styles.*.bundle.css"/> 

しかしIIRCあなたは(すなわちdist/**/*.jsどこ**すべての子に目を通すだろうあまりにもフォルダのみグロビングパス、その中に正規表現を使用することはできません。

それがニーズに合わない場合は、必要に独自のタグヘルパーを書く。

LinkTagHelperScriptTagHelperの現在の実装のためのGitHubを参照してください。

あなたは何のCを持っていないので、私は、とにかく要部のための正規表現を使用することをお勧めいたしますないでしょうファイルがどの順序で含まれているかをオンにします。したがって、これを手動で制御し、識別子/ハッシュサム変数のみを制御することが最善です。

+0

ご協力ありがとうございます。 – BlackHoleGalaxy

関連する問題