1

使用 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 对这些脚本进行自定义排序,或者如何让父页面在使用共享布局的子页面之前对脚本进行排序。

4

1 回答 1

0

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

于 2012-12-10T15:54:16.107 回答