向 DynamicFolderBundle 添加额外的有序包?
Add additional ordered bundles to a DynamicFolderBundle?
我有一个 DynamicFoldewrBundle
:
bundles.Add(new DynamicFolderBundle("userScripts", "*.js", true, new JsMinify()));
所以如果我 运行 :
http://optimization.localtest.me/files/templates/designs/HelloTreble/userScripts
...它将呈现所有 Javascript 文件并压缩到 HelloTreble
文件夹中。
好的。
问题:
但是如何将 自定义订购的 捆绑包添加到 DynamicFolderBundle
?
我已经试过了:
bundles.Add(new DynamicFolderBundle("userScripts", "*.js",new JsMinify())
.Include("~/Scripts/A.js").Include("~/Scripts/B.js"))
哪个有效。
但输出是:
- 第一个:A.JS
- 第二个:B.js
- 第三:[所有
HelloTreble
的 js 文件,缩小]
(当然是一个文件)
但我真正想要的是:
- 首先:[所有
HelloTreble
的 js 文件,缩小]
- 第二个:A.js
- 第三名:B.js
(当然是一个文件)
你可以像
那样实现IBundleOrderer
接口
public class MyBundleOrderer : IBundleOrderer
{
public IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
{
var list = new List<BundleFile>(files);
list.Reverse();
return list;
}
}
然后将此附加到您的 DynamicFolderBundle
赞
var myDynamicBundle = new DynamicFolderBundle("userScripts", "*.js",true,new JsMinify())
.Include("~/Scripts/bootstrap.js")
.Include("~/Scripts/respond.js");
myDynamicBundle.Orderer = new MyBundleOrderer();
bundles.Add(myDynamicBundle);
您的脚本将按顺序呈现 respond.js
,然后是 bootstrap.js
,然后是 userScripts
捆绑包中的脚本。
我有一个 DynamicFoldewrBundle
:
bundles.Add(new DynamicFolderBundle("userScripts", "*.js", true, new JsMinify()));
所以如果我 运行 :
http://optimization.localtest.me/files/templates/designs/HelloTreble/userScripts
...它将呈现所有 Javascript 文件并压缩到 HelloTreble
文件夹中。
好的。
问题:
但是如何将 自定义订购的 捆绑包添加到 DynamicFolderBundle
?
我已经试过了:
bundles.Add(new DynamicFolderBundle("userScripts", "*.js",new JsMinify())
.Include("~/Scripts/A.js").Include("~/Scripts/B.js"))
哪个有效。
但输出是:
- 第一个:A.JS
- 第二个:B.js
- 第三:[所有
HelloTreble
的 js 文件,缩小]
(当然是一个文件)
但我真正想要的是:
- 首先:[所有
HelloTreble
的 js 文件,缩小] - 第二个:A.js
- 第三名:B.js
(当然是一个文件)
你可以像
那样实现IBundleOrderer
接口
public class MyBundleOrderer : IBundleOrderer
{
public IEnumerable<BundleFile> OrderFiles(BundleContext context, IEnumerable<BundleFile> files)
{
var list = new List<BundleFile>(files);
list.Reverse();
return list;
}
}
然后将此附加到您的 DynamicFolderBundle
赞
var myDynamicBundle = new DynamicFolderBundle("userScripts", "*.js",true,new JsMinify())
.Include("~/Scripts/bootstrap.js")
.Include("~/Scripts/respond.js");
myDynamicBundle.Orderer = new MyBundleOrderer();
bundles.Add(myDynamicBundle);
您的脚本将按顺序呈现 respond.js
,然后是 bootstrap.js
,然后是 userScripts
捆绑包中的脚本。