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