asp.net-mvc-4 – 正确使用IItemTransform来纠正CSS捆绑ASP.NET
发布时间:2020-12-16 07:05:38 所属栏目:asp.Net 来源:网络整理
导读:我目前正在开发一个项目,该项目使用 ASP.NET Web Optimization库(v 1.1.0-Beta1)和 Bundle Transformer扩展(v 1.7.3-Beta1用于核心,1.7.0-Beta1用于LESS),用于转换很少进入CSS. 基于Web搜索,CSS(及更少)中的路径似乎是一个常见问题,在大多数情况下,建议手动
我目前正在开发一个项目,该项目使用
ASP.NET Web Optimization库(v 1.1.0-Beta1)和
Bundle Transformer扩展(v 1.7.3-Beta1用于核心,1.7.0-Beta1用于LESS),用于转换很少进入CSS.
基于Web搜索,CSS(及更少)中的路径似乎是一个常见问题,在大多数情况下,建议手动修改CSS并完成它.但是,由于我们的开发和生产环境之间的差异,并且没有拥有受影响的CSS,这样的解决方案是不可行的. 似乎存在两种解决方案.第一种是将捆绑定义的虚拟目录覆盖在包含内容的实际目录上.对我来说,这似乎是一个糟糕的选择. 其次,我选择的路线是使用IITTransform,如CssRewriteUrlTransform(在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(),原始输入也始终在使用中.我在这里做错了还是确实是个错误? 解决方法
如果您没有正确理解这一点,项目转换将在它们捆绑在一起之前应用于项目,然后运行包变换.您是否在调试器中验证了它是否正在调用您的转换?
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- asp.net-web-api – ASP.NET Web API:如何在Web API控制器
- asp.net – 具有MVC的Sitecore’动态占位符’
- asp.net – 脚本管理器和工具包脚本管理器之间的区别
- asp.net – Url片段为空
- asp.net-mvc – Html.DisplayFor十进制格式?
- 无需写try/catch,也能正常处理异常
- asp.net-core – 在ASP.NET MVC Core中仍然存在ViewModel概
- asp.net-mvc – 哪个更快asp.net mvc json或json.net?
- asp.net – 当用户离开网站(ASPX)时,最后调用数据库?
- identity – 更改MVC 5中的用户名
推荐文章
站长推荐
热点阅读