ホームページ  >  記事  >  ウェブフロントエンド  >  Bundler が .min ファイルを除外するのはなぜですか?

Bundler が .min ファイルを除外するのはなぜですか?

Linda Hamilton
Linda Hamiltonオリジナル
2024-10-19 15:00:04169ブラウズ

Why is Bundler Excluding .min Files?

バンドラーによる .min ファイルの見落とし

ASP.NET MVC4 バンドルのコンテキストでは、バンドラーが .min ファイルを除外するという興味深い問題が発生します。コンパイルからの .min.js 拡張子。これを説明するために、次の BundleConfig クラスを考えてみましょう。

<code class="c#">public static void RegisterBundles(BundleCollection bundles)
{
    bundles.Add(new ScriptBundle("~/Scripts/jquery")
        .Include("~/Scripts/jquery-1.8.0.js")
        .Include("~/Scripts/jquery.tmpl.min.js"));            
}</code>

ビューでは、次のコードを使用してバンドルをレンダリングします。

<code class="html"><head>
@Scripts.Render("~/Scripts/jquery")
</head>
<body>test</body></code>

ただし、レンダリングされた出力には、 jquery-1.8.0.js ファイル、および jquery.tmpl.min.js は省略されています。

原因

この動作は、バンドラー設定自体に固有のものではありません。これは、Microsoft.AspNet.Web.Optimization パッケージ バージョン 1.1.0 の問題に関連しています。

ソリューション

提供された元のソリューションには IgnoreList 構成の変更が含まれていました。 、これは最適化パッケージの新しいバージョンでは適用されなくなりました。最新バージョン (1.1.3 以降) では、この問題は解決されています。

この問題を解決し、バンドル プロセスに .min.js ファイルを含めるには、最新バージョンの Microsoft.AspNet を使用していることを確認してください。 .Web.Optimization package.

代替ソリューション (古い)

パッケージの最新バージョンにアップグレードできない場合は、次のハックを検討できます。

  1. BundleConfig クラスの AddDefaultIgnorePatterns メソッドをオーバーライドします。
  2. 次の行を追加します。

ignoreList.Ignore("*.min.js", OptimizationMode.WhenEnabled);

これは、最適化が有効な場合に .min.js ファイルを無視するようにバンドラーに指示し、それらのファイルをバンドルに事実上含めます。

以上がBundler が .min ファイルを除外するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。