我在这个项目上使用 Visual Studio 2010、.NET 4 和 MVC 2,YUI Compressor 作为构建后事件运行。
问题是我们有一个不可维护的大 css 文件,因此我们将其拆分为不同文件夹中的许多 CSS 文件。
- /资产/样式/Site.css
- /Assets/Styles/Pages/Page1.css
- /Assets/Styles/Pages/Page2.css
- /Assets/Styles/Pages/Page-nth.css
- /Assets/Styles/Partials/Partial1.css
- /Assets/Styles/Partials/Partial1.css
- /Assets/Styles/Partials/Partial-nth.css
类似的东西。
这对开发有利,但对生产不利。在生产中,我们只有 1 个文件,它是所有内容的合并/缩小版本,该文件位于 /Assets/Styles/style.css
现在这种设计引起了问题,因为图像路径在 dev 和 prod 中不能相同。(我们也有 staging 和 uat 但让我们保持简单)
我看到了一些解决方案,我们可以使用绝对路径,我们可以有许多缩小/合并的 css 文件并将它们放在正确的文件夹(Pages.css / Partials.css)中,或者我们可以使用无 cookie 的子域(静态.domain.com) 这是我想做的。
所以我的问题是:如何在我的 CSS 文件中自动将“../../image.png”重命名为“http://static.domain.com/image.png”?YUI Compressor 能做到吗?我应该制作一个可以做到这一点的构建控制台项目吗?你知道可以为我做这件事的工具吗?其他建议?!
提前致谢!