0

バンドルするのは初めてで、多くのスクリプト ファイルを含むプロジェクトがあります。

私はバンドルを使用しており、約20個のファイルを含むバンドルを設定したいという意味で大量のコンテンツの問題に直面しています。その後、バンドルコンテンツ全体ではなく、このバンドルから1つまたは3つのファイルのみをレンダリングしたいということです縮小のような構成、...)。

バンドルをたくさん作りたくない

bundles.add(new ScriptBundle(~/bundles/file1).include(file1.js)); bundles.add(new ScriptBundle(~/bundles/file2).include(file2.js)); bundles.add(new ScriptBundle(~/bundles/file3_4).include(file3.js) .include(file4.js));

または通常の方法を使用してスクリプトファイルを呼び出します <script src='something.js'></script>

どんなアイデアでも大歓迎です。

4

2 に答える 2

1

ASP.Net Bundler は動的ではありません。バンドルはアプリケーションの起動時に計算されるため、選択的なレンダリングを行うことはできません。

いくつかのスクリプトのみを含むページと、より多くのスクリプトを含むページが必要な場合は、ページごとにバンドルを作成する必要があります。

そうしないでください!

不要なスクリプトを含めることが心配な場合は、次の 2 つのオプションがあります。

1) すべてのスクリプトを 1 つのバンドルに含める

スクリプトが 20 個しかない場合、これは必ずしもひどいオプションではありません。これにより、ブラウザーは最初のページの読み込み時にそのファイルをキャッシュし、基本的に変更されるまで再度要求することはありません。これは、他のすべてのページの読み込みが非常に高速であることを意味します。

欠点は、1 つのスクリプトが変更されるたびに、バンドル全体が無効になり、再ダウンロードが必要になることです。繰り返しますが、これは 1 回限りの費用です。

2) 一般的なスクリプトをまとめてから、ページごとに個別のスクリプトを含める

これにより、あまり頻繁に変更されないスクリプト (jQuery、アンダースコア、Angular など) を最適化できます。同時に、個々のページのリリース間で変更される可能性のあるスクリプトの影響を最小限に抑えることができます。

これは、ページあたりのリクエスト数が増えることを意味しますが、これらのスクリプトは小さくする必要があり、他のすべてと同様にキャッシュされます。

ページごとに個別のバンドルを作成することもできます。これは、1 つまたは 2 つのスクリプトしか含まれない可能性が高いため、管理が簡単になるはずです。

于 2013-11-12T12:08:33.360 に答える