Html 调试和发布中的不同css url

Html 调试和发布中的不同css url,html,css,Html,Css,我有一个在css文件中包含URL的web应用程序。在生产中,我有一个优化的css文件,它位于与images文件夹不同的位置。 例如: 发展中: .someClass{ background: url("../images/....); } 生产中: .someClass{ background: url("../../images/....); } 显然,我希望图像在这两种情况下都能工作,有解决方案吗?除了确保css具有相同的相对位置,而不是将目录与。。您可以使用以正斜杠/开头的

我有一个在css文件中包含URL的web应用程序。在生产中,我有一个优化的css文件,它位于与images文件夹不同的位置。 例如:

发展中:

.someClass{
   background: url("../images/....);
}
生产中:

.someClass{
   background: url("../../images/....);
}

显然,我希望图像在这两种情况下都能工作,有解决方案吗?除了确保css具有相同的相对位置,而不是将目录与。。您可以使用以正斜杠/开头的根相对URL来引用根web目录,并键入地址的其余部分。使用根相对URL在这两种情况下都适用。

如果您可以在node.js/gulp上运行的项目中使用,则有一个插件可以满足您的需要:

gulp文件中的片段:

.pipe(rework(
  reworkPluginUrl(function(url) {
    return '../' + url;
  })
))
作为构建的一部分,以下CSS:

body {
  background: url(../images/bg.png);
}
将转化为:

body {
  background: url(../../images/bg.png);
}

这很好,但问题是我们有两个应用程序,我们称它们为A和B,它们都使用css文件。所以在A中,url应该是url/A/images/。。。在B中,它应该是url/B/images/…以正斜杠开始指定根web目录。如果使用两个不同的图像,则应使用两个不同的类。如果两者使用相同的映像,则路径不应受到影响,因为您从根目录指定的路径不会更改。