1

我有一堆包含图像背景的 .less 文件:

.header {
    background-image:url(~/images/some_image.png);
}

在调试模式下,这些 .less 文件直接提供,但在发布模式下,它们作为包的一部分提供。捆绑 URL 和单个文件 URL 之间的路径深度并不总是相同,所以我不能只使用相对 URL。

无点 nuget 包的默认选项不解析应用程序相对路径。有没有办法让它做正确的事?

4

1 回答 1

2

编辑:这种方法存在潜在的致命缺陷。该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");
}
于 2013-11-26T23:43:33.483 回答