gpt4 book ai didi

asp.net-mvc-4 - 使用 ASP.NET Web 优化和 BundleTransformer 更正 CSS 捆绑中的路径时,IItemTransform 的正确用途是什么?

转载 作者:行者123 更新时间:2023-12-04 18:45:01 27 4
gpt4 key购买 nike

我目前正在做一个使用 ASP.NET Web Optimization 的项目。库 (v 1.1.0-Beta1) 与 Bundle Transformer扩展(v 1.7.3-Beta1 用于核心,1.7.0-Beta1 用于 LESS),用于将 LESS 转换为 CSS。
基于 CSS(和更少)内的网络搜索路径似乎是一个常见问题,在大多数情况下,建议手动修改 CSS 并完成它。但是,由于我们的开发和生产环境之间存在差异,并且不拥有受影响的 CSS,这样的解决方案是不可行的。

似乎存在两种解决方案。第一种是将捆绑定(bind)义的虚拟目录覆盖在包含内容的实际目录上。对我来说,这似乎是一个糟糕的选择。

其次,我选择的路线是使用 IItemTransformCssRewriteUrlTransform (在 this post 中提到。即使这个解决方案也有它的 limitations 。因此,我试图编写自己的 ItemTransformer 但似乎在以下列方式使用时,它的执行结果被忽略了:

public static void RegisterBundles(BundleCollection bundles)
{
/* among other work pass in IItemTransformer to fix paths */
var styleBundle = new StyleBundle("~/bundles/css/styles")
.Include(...)
.Include("~/Content/less/font-awesome.less", new RewriteUrlTransform())
.Include(...);

styleBundle.Transforms.Add(new CssTransformer());
styleBundle.Orderer = new NullOrderer();

bundles.Add(styleBundle);
}

IItemTransform 的实现:
public class RewriteUrlTransform : IItemTransform
{
public string Process(string includedVirtualPath, string input)
{
return (input manipulated with proper path replacing bad path)
}
}

除非我完全误解了 IItemTransform是要使用的,由于缺乏文档,这很有可能,我认为 Process 方法的返回是新的后处理 CSS。然而,返回似乎被忽略了。原始输入始终处于使用状态,即使我返回 String.Empty() .我在这里做错了什么还是确实是一个错误?

最佳答案

Bundle Transformer 原生支持将相对路径自动转换为 CSS 代码中的绝对路径。我是作为这个产品的开发者告诉你的。

关于asp.net-mvc-4 - 使用 ASP.NET Web 优化和 BundleTransformer 更正 CSS 捆绑中的路径时,IItemTransform 的正确用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16283537/

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