我正在使用ASP.Net MVC 4应用程序,并使用Bundling和minifiction来渲染样式和脚本文件.
我有一个脚本文件(文件A)调用函数在另一个文件(文件B),当我使用
@ Scripts.Render()方法,它在文件B之前渲染文件A的链接标记,从而触发错误,脚本无法正常工作.
有没有办法强制@ Script.Render()以特定的顺序呈现链接标记,而不需要为每个文件分别使用捆绑?
编辑
我使用IncludeDirectory方法将所有脚本文件包含在该文件夹中
- public class BundleConfig
- {
- public static void RegisterBundles(BundleCollection bundles)
- {
- bundles.Add(new ScriptBundle("~/bundles/js").IncludeDirectory(
- "~/Scripts/js","*.js"));
- }
- }
解决方法
在这个问题上写下你自己的订单作为Darin Dimitrov的答案:
How can I specify an explicit ScriptBundle include order?
- public class MyBundleOrderer : IBundleOrderer
- {
- public virtual IEnumerable<FileInfo> OrderFiles(BundleContext context,IEnumerable<FileInfo> files)
- {
- //any ordering logic here
- return files;
- }
- }