我有一堆包含图像背景的无文件:
.header {
background-image:url(~/images/some_image.png);
}
在调试模式下,这些.less文件直接提供,但在发布模式下,它们作为捆绑包的一部分提供。捆绑包URL和单个文件URL之间的路径深度并不总是相同,因此我不能只使用相对URL。
无点nuget包的默认选项不解析app相对路径。有没有选择让它做正确的事情?
答案 0 :(得分:1)
编辑:此方法存在潜在的致命缺陷。 apppath.less
文件必须位于某个不一定已知的位置,这会产生鸡蛋情景。不过,它在某种程度上可能会有所帮助。
一种方法是使用@import
规则来声明包含应用程序路径的变量,如下所示:
@import "apppath.less"
如果你不能使用.less扩展名,你应该可以使用(less)
强制执行.less解释。
@import (less) "apppath.ashx"
apppath.less可以简单地使用Response.Write
来回显应用程序路径,而不是静态文件,产生如下输出:
@app-path: "http://yourserver/app/path";
然后你会像这样使用它:
.header {
background-image:url("@{app-path}/images/some_image.png");
}