gpt4 book ai didi

javascript - ASP.NET MVC - 捆绑配置顺序

转载 作者:IT王子 更新时间:2023-10-29 02:48:13 26 4
gpt4 key购买 nike

我正在尝试在我的 ASP.NET MVC 5 应用程序中使用特定的语言环境 (es-CL)。我有以下内容:

  1. 将 web.config uiculture 和 culture 更改为“es-CL”
  2. 安装了 GlobalizejQuery.Validation.Globalize包裹
  3. 在我的 View 中更改了默认语言:<html lang="es-cl">
  4. 创建了一个新的 Bundle 并包含在适当的 View 中。

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"));

在适当的 View 中:

@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 脚本在 globalize.js 之前加载,这不是我想要的。

为什么会这样?是否可以依赖单个包中的包含顺序,或者我是否被迫将这个单个脚本放在不同的包中并在我的 View 中指定它?

最佳答案

默认情况下,对于带通配符的名称,捆绑顺序是按字母顺序排列的(如评论中所指出的)。然而,它也根据它认为你的依赖树是什么来排序,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);

引用:http://stevescodingblog.co.uk/changing-the-ordering-for-single-bundles-in-asp-net-4/

为了进一步阅读,MikeSmithDev 的问题的答案提供了对流行脚本库的默认顺序的进一步洞察:

Ordering of Files within a bundle - What are the known libraries?

关于javascript - ASP.NET MVC - 捆绑配置顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19323409/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com