我对Laravel 5.0相当陌生,但对PHP不是。我一直在使用Elixir来编译我的SASS,从我的资源目录复制图像并通过mix.version
函数运行它们以防止缓存。在SASS文件中链接缓存的图像被破坏
然而,这对CSS,图像和JavaScript非常适用;是否有可能让Elixir缓存半身像在CSS/SASS中链接的图像?确定它很容易对图像进行版本化,但是有没有一种方法可以调整CSS以反映新的文件名?
我发现了这个:https://github.com/trentearl/gulp-css-url-adjuster 它允许你在CSS文件中追加一个查询参数到文件路径,这样就解决了一半的问题。如果可以在每次运行gulp时自动更改查询参数,我会很乐意使用它。
有关如何实现这一目标的任何想法,或者甚至可能吗?
我想这样做的原因是我不断开发我的应用程序,我使用一个大的精灵表单,经常重新排列,缓存清除是一个要求,如果它可以自动运行时吞咽,可以节省我花了很多时间和精力。
感谢
最好是更改路径而不是使用查询字符串,然后重写Web服务器上的路径。 – Hades
这会更好吗?无论如何,浏览器会将查询参数视为不同的URL。通过服务器改变路径和重写会产生一个额外的复杂层,这是Sass无法实现的。 – AJReading
查询字符串方法不是缓存清除的最佳接受方法,并且在某些情况下可能会失败。有些浏览器没有看到不同的查询字符串作为不同的文件和一些软件(我听说:Squid)不会用查询字符串缓存文件。此外,使用查询字符串方法,可以防止像IIS这样的Web服务器提供ETag标头,它允许浏览器检查缓存有效性,而不仅仅依赖于过期日期/时间。 – Hades