Cassette.web,MVC 3,共享布局:以正确的顺序获取引用



使用 Cassette.net、MVC 3、Razor、C#、相对位置和共享布局,如何在不修改原始 JavaScript 文件的情况下以正确的顺序获取引用?

在共享布局中,我像这样引用 jQuery:

Bundles.Reference("~/Scripts/jquery-1.7.2.js");

然后在视图中,我添加另一个引用:

Bundles.Reference("~/Scripts/myScript.js");

myScript 依赖于 jQuery,但 Cassette 在 jQuery 前面引用了 myScript:

<script src="/_cassette/asset/Scripts/js/myScript.js?...
<script src="/_cassette/asset/Scripts/jquery-1.7.2.js?...

我觉得子页面中引用的脚本在父页面脚本之前呈现很奇怪。

我看到您可以在脚本中添加符号,例如/// <reference path="other.js" />但我真的不想修改 javascript 代码以包含它。

更新:

我添加了

Bundles.Reference("~/Scripts/jquery-1.7.2.js","head")
Bundles.Reference("~/Scripts/js/myScript.js","body") 

这至少将我的脚本放在 jQuery 脚本之后,使用 @Bundles.RenderScripts("head");@Bundles.RenderScripts("body"); 在适当的标签中。 它似乎使脚本保持添加的顺序。 我仍然想知道如何使用某种类型的 Bundle.config 自定义排序这些脚本,或者如何让父页面在使用共享布局在子页面之前订购脚本。

使用捆绑描述符文件。然后,您可以强制文件顺序。

最新更新