- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我遇到了和许多人一样的问题,当我捆绑 CSS 样式表时,我的图像无法解析。
现在我发现一些 SO-Answers 建议使用 new CssRewriteUrlTransform()
作为新 StyleBundle-Object 的“Include”方法的第二个参数。 This one for example
我使用 IncludeDirectory 是因为我有一个目录,我可以在其中添加文件,而无需将它们注册到某个地方(并且它们是我不想列出的许多文件)。但 IncludeDirectory 没有覆盖来传递 CssRewriteUrlTransform-Object:
不起作用: bundles.Add(new StyleBundle("~/bundles/css/directives").IncludeDirectory("~/app/directives", "*.css “,真));
我也尝试过:
StyleBundle sb = new StyleBundle();
sb.Transforms.Add(new CssRewriteUrlTransform());
但是 Transforms 的类型为 IBundleTransform,我正在尝试传递 IItemTransform。
关于如何做到这一点有什么建议吗?
最佳答案
由于我没有找到更好的答案,我将发布我的解决方案(感觉更像是一种解决方法):
public class BundleConfig {
private class CssRewriteUrlTransformWrapper : IItemTransform {
public string Process(string includedVirtualPath, string input) {
//see https://stackoverflow.com/questions/19765238/cssrewriteurltransform-with-or-without-virtual-directory
return new CssRewriteUrlTransform().Process("~" + VirtualPathUtility.ToAbsolute(includedVirtualPath), input);
}
}
private static string MakeVirtualPath(string fromPhysPath, string withVirtualPath) {
var res = fromPhysPath.Replace("\\", "/");
var idx = res.IndexOf(withVirtualPath.Replace("~", ""));
res = "~" + res.Substring(idx);
return res;
}
private static StyleBundle CreateStyleBundleForDir(string virtualPath) {
StyleBundle res = new StyleBundle(virtualPath + "/bundle");
string[] cssFilesPhysical = Directory.GetFiles(HttpContext.Current.Server.MapPath(virtualPath), "*.css", SearchOption.AllDirectories);
List<string> cssFilesVirtual = new List<string>();
foreach (var file in cssFilesPhysical) {
res.Include(MakeVirtualPath(file, virtualPath), new CssRewriteUrlTransformWrapper());
}
return res;
}
public static void RegisterBundles(BundleCollection bundles) {
bundles.Add(CreateStyleBundleForDir("~/app/custom"));
}
}
我愿意接受建设性的批评:)
关于ASP.NET MVC : StyleBundle IncludeDirectory & CssRewriteUrlTransform,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36183400/
我在向现有项目添加 bundle 时遇到问题。问题是渲染到页面时的输出路径。我包括带有子文件夹的目录,它们遍历它们以查找 *.js,如下所示: BundleTable.Bundles.Add(
我遇到了和许多人一样的问题,当我捆绑 CSS 样式表时,我的图像无法解析。 现在我发现一些 SO-Answers 建议使用 new CssRewriteUrlTransform() 作为新 Style
您好谁能给我一个关于如何使用 Scriptbundle 方法 IncludeDirectory 的 Javascripts 的例子,无法获取如何编写搜索模式字符串,是正则表达式吗? bundles.A
作为 VS2013 升级的一部分,我将 MVC 4 项目升级到 MVC 5,但 bundle 和缩小出现了奇怪的行为。然后我尝试了一个新的 MVC 5 项目,也遇到了同样的问题。这就是我正在做的事情:
我是一名优秀的程序员,十分优秀!