[解決済み] ASP.NET MVC - バンドル設定順序
2023-06-12 18:04:13
質問
ASP.NET MVC 5 アプリケーションで特定のロケール (es-CL) を使用しようとしています。私は次のようなものを持っています。
- web.config uiculture および culture を "es-CL" に変更しました。
- をインストールしました。 グローバル化 と jQuery.Validation.Globalize。 パッケージ
-
ビューのデフォルト言語を変更しました。
<html lang="es-cl">
- 新しいBundleを作成し、適切なビューに含めました。
で BundleConfig.cs :
bundles.Add(new ScriptBundle("~/bundles/jqueryval")
.Include("~/Scripts/jquery.validate.js")
.Include("~/Scripts/jquery.validate.unobtrusive.js"));
bundles.Add(new ScriptBundle("~/bundles/globalization")
.Include("~/Scripts/globalize/globalize.js")
.Include("~/Scripts/globalize/cultures/globalize.culture.es-CL.js")
.Include("~/Scripts/jquery.validate.globalize.js"));
適切なビューで
@section Scripts {
@Scripts.Render("~/bundles/jqueryval")
@Scripts.Render("~/bundles/globalization")
}
しかし、生成されたソースコードは以下のようになります。
<script src="/Scripts/jquery.validate.js"></script>
<script src="/Scripts/jquery.validate.unobtrusive.js"></script>
<script src="/Scripts/jquery.validate.globalize.js"></script>
<script src="/Scripts/globalize/globalize.js"></script>
<script src="/Scripts/globalize/cultures/globalize.culture.es-CL.js"></script>
なお jquery.validate.globalize.js の前に読み込まれていることに注意してください。 グローバル化.js の前に読み込まれることになり、私の望むところではありません。
なぜこのようなことが起こるのでしょうか。1 つのバンドルでインクルードの順序に依存することは可能ですか、それともこの単一のスクリプトを別のバンドルに入れ、ビューで指定することを余儀なくされますか?
どのように解決するのですか?
デフォルトでは、バンドル順はワイルドカードを含む名前に対してアルファベット順です(コメントで指摘されています)。しかし、依存関係ツリーが何であるかを考えて順序を決めることもありますし、また
jQuery
スクリプトは一番上に配置されるようです。を実装したオブジェクトを作成する必要があります。
IBundleOrder
:
class NonOrderingBundleOrderer : IBundleOrderer
{
public IEnumerable<FileInfo> OrderFiles(BundleContext context, IEnumerable<FileInfo> files)
{
return files;
}
}
これで、デフォルトの並び順を防ぐことができます。さあ、使ってみましょう。
var bundle = new ScriptBundle("~/bundles/globalization")
.Include("~/Scripts/globalize/globalize.js")
.Include("~/Scripts/globalize/cultures/globalize.culture.es-CL.js")
.Include("~/Scripts/jquery.validate.globalize.js");
bundle.Orderer = new NonOrderingBundleOrderer();
bundles.Add(bundle);
ref: http://stevescodingblog.co.uk/changing-the-ordering-for-single-bundles-in-asp-net-4/
さらに読むために、MikeSmithDev の質問に対する回答は、人気のあるスクリプト ライブラリのデフォルトの順序に関するさらなる洞察を提供します。
関連
-
[解決済み] ファイルアップロード ASP.NET MVC 3.0
-
[解決済み] ASP.NET MVC Frameworkで複数のサブミットボタンを処理する方法は?
-
[解決済み] ASP.NET MVCでenumからドロップダウンリストを作成するにはどうすればよいですか?
-
[解決済み] ASP.NET MVC - カスタムIIdentityまたはIPrincipalの設定
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み] Google maps API V3 - 同一地点に複数のマーカーを設置する。
-
[解決済み] React js 親コンポーネントから子コンポーネントの状態を変更する
-
[解決済み] react-routerのハッシュフラグメントからクエリパラメータを取得する
-
[解決済み] Prototypeを使ってtextareaを自動サイズ調整するには?
-
[解決済み] javascriptのキャンバスで画像をリサイズする (スムーズ)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] 配列からオブジェクトを生成する
-
[解決済み] Chart.jsを使ってドーナツチャートの中にテキストを追加するには?
-
[解決済み] javascript の関数から `undefined` と `null` のどちらを返すのが良いのでしょうか?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] javascript includes() 大文字小文字を区別しない
-
[解決済み] BlobからArrayBufferへ移行する方法
-
[解決済み] CORS: 認証モードは 'include' です。
-
[解決済み] JSHintの'+'前の改行不良の説明
-
[解決済み] なぜjavascriptのES6 Promisesはresolve後も実行を継続するのですか?
-
[解決済み] ScriptBundleのインクルード順序を明示的に指定するには?