TL; DR :当缩小文件与原始(非缩小)文件位于同一文件夹中时,IItemTransform
未执行。
我遇到这个问题主要是因为CSS相对图像引用。如果您将IItemTransform
与Javascript文件一起使用,则同样适用。
这就是我正在使用的:
CssRewriteUrlTransform
使CSS URL绝对(即背景图像),以便在将多个CSS文件捆绑在一起后图像仍然可用到目前为止,这里没什么不寻常的,但它不起作用。
捆绑和缩小的工作方式是它试图避免过度处理。这意味着当缩小文件与原始文件存在于同一文件夹中时,它将不会运行自己的缩小,而是提供现有文件。
只要它至少会对那些预先存在的缩小文件进行转换,这样就可以了。但事实并非如此。所以我最终得到了一个包中的相对URL,这些URL几乎打破了所有这些资源。
从我的开发过程和使用的工具(并按照它们的方式配置)的角度来看,这看起来像一个bug。如果这些文件是同一缩小过程的结果,那么这根本就不是一个错误,因为在缩小执行时将执行转换。确实,这样的功能不存在,并且可能永远不会因为应用程序需要写入权限才能使其工作。结果:这是一个错误。在缓存之前,应该通过转换处理现有的缩小文件。
是否有可能以某种方式说服捆绑和缩小:
答案 0 :(得分:1)
你考虑过使用Grunt吗? http://gruntjs.com/
它有一个学习曲线,但是,信息池是巨大的。您使用网络必需品时遇到的问题不会成为问题。
我现在在VS中使用它来缩小,捆绑和转换css和javascript,以及将文件重新组织到部署目录中。一旦设置了目录结构,就可以很容易地重用grunt文件。
使用VS(链接,下方)中的加载项,您可以右键单击grunt文件并从弹出菜单中选择要运行的grunt任务。
https://visualstudiogallery.msdn.microsoft.com/dcbc5325-79ef-4b72-960e-0a51ee33a0ff
可以通过下载各种插件即https://www.npmjs.com/package/grunt-contrib-less来创建调用它们的Grunt“任务”。
答案 1 :(得分:0)
我从未使用过LESS或网络必需品,所以请把这篇文章看作是值得的(不多。)你能否添加一个pre-build命令来简单地删除旧文件,然后在需要时进行重建更新CSS。