【发布时间】:2013-01-28 13:45:57
【问题描述】:
我正在开发一个 ASP.Net MVC 4 应用程序,并使用 Bundling 和 minifiction 来呈现样式和脚本文件。
我有一个脚本文件(File A)调用另一个文件(File B)中的函数,当我使用@Scripts.Render()它呈现的方法时link File A 标记在 File B 之前,因此它会触发错误并且脚本无法正常工作。
有什么方法可以强制@Script.Render() 以特定顺序呈现link 标签而不为每个文件使用单独的包????
编辑
我正在使用IncludeDirectory 方法来包含该文件夹中的所有脚本文件
public class BundleConfig
{
public static void RegisterBundles(BundleCollection bundles)
{
bundles.Add(new ScriptBundle("~/bundles/js").IncludeDirectory(
"~/Scripts/js",
"*.js"));
}
}
【问题讨论】:
-
请说明您如何将脚本添加到您的页面和捆绑包中。您可以创建自己的包并按您想要的顺序添加脚本。 stackoverflow.com/questions/14544277/…
-
@MikeSmithDev 谢谢,您提供的帖子很有帮助,但我很贪心:) 并想知道是否有其他方法可以做到这一点
-
来自 www.asp.net:“通过通配符添加脚本默认按字母顺序加载它们,这通常不是您想要的。CSS 和 JavaScript 文件经常需要以特定(非-alphabetic) 顺序。您可以通过添加自定义 IBundleOrderer 实现来降低此风险,但显式添加每个文件不太容易出错。"
-
@MikeSmithDev 即使不使用 * 我仍然可以按随机顺序下载
-
@Nikos 没有看到你的代码,IDK。我展示的两种方法都可以指定顺序。请注意,即使您指定了一个顺序,它将 将某些已知脚本移到前面(如 jquery),因此可能就是这样。否则,我在设置脚本去哪里时没有问题。
标签: asp.net .net-4.0 asp.net-mvc-4 bundle bundling-and-minification