gpt4 book ai didi

c# - 将不同的 Bundle Virtual Path 联合成一个

转载 作者:行者123 更新时间:2023-11-30 14:47:29 25 4
gpt4 key购买 nike

我在 BundleConfig.config 上定义了多个 Bundle 虚拟路径,其中每个虚拟路径都关联了多个 javascript 路径文件。

我想要的是将所有这些虚拟路径合并为一个。

例如,我有以下代码:

bundles.Add(new ScriptBundle(BundlesVirtualPaths.EditorV2.Main).Include(
"~/Scripts/EditorV2/main.js"
));

bundles.Add(new ScriptBundle(BundlesVirtualPaths.EditorV2.Main2).Include(
"~/Scripts/EditorV2/main2.js"
));

bundles.Add(new ScriptBundle(BundlesVirtualPaths.EditorV2.Main3).Include(
"~/Scripts/EditorV2/main3.js"
));

我想要的是远离做这样的事情:

bundles.Add(new ScriptBundle(BundlesVirtualPaths.EditorV2.AllScripts).Include(
BundlesVirtualPaths.EditorV2.Main,
BundlesVirtualPaths.EditorV2.Main2,
BundlesVirtualPaths.EditorV2.Main3
));

这样可以吗?我可以吗?

最佳答案

你可以尝试这样的事情:

public static class BundleHelpers
{
public static BundleCollection JoinScriptBundle(this BundleCollection bundleCollection, string virtualPath, params string[] bundlesToJoin)
{
var bundleResolver = new BundleResolver(bundleCollection);
Bundle allScriptBundle = new ScriptBundle(virtualPath);
foreach (var bundle in bundlesToJoin)
{
foreach (var scriptPath in bundleResolver.GetBundleContents(bundle))
{
allScriptBundle = allScriptBundle.Include(scriptPath);
}
}
bundleCollection.Add(allScriptBundle);
return bundleCollection;
}
}

然后你可以加入你的包:

bundles.JoinScriptBundle("~/bundle/allscript", "~/bundles/jquery", "~/bundles/jqueryval", "~/bundles/modernizr");

关于c# - 将不同的 Bundle Virtual Path 联合成一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44757410/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com