【问题标题】:Processing Less CSS files that have php tags处理具有 php 标签的较少 CSS 文件
【发布时间】:2013-07-25 11:22:13
【问题描述】:

我们有一个less文件hi_style.less

@import "css/base-ui.less";

#hi {
    margin: 100px;
}

其中包含另一个 less 文件 css/base-ui.less,行如下:

.ui-go {
    background: #74A372 url(<?php echo $l_uri; ?>/images/ui-go.png) repeat-x scroll 50% 50%;
}

我们需要 php 的原因(除非有人有更好的想法)是因为只有一个代码库,但我们有许多站点连接到与该单一代码库不同的数据库。

例如

site-a.mysite.comsite-b.mysite.com 都使用相同的代码,但 url 明显不同。

有没有办法以更少或更好的方式忽略 php 标记,从而在一个代码库中获得显式 url。

我们不能使用相对路径,因为基本路径可以更改并指向不同的代码库。

提前致谢。

编辑:处理后不能是静态文件,因为代码库可以通过以下网址访问:site-a.mysite.com/testingsite-a.mysite.com/beta,因此图像文件的网址可能是:

http://site-a.mysite.com/images/ui-go.png

http://site-a.mysite.com/testing/images/ui-go.png

http://site-a.mysite.com/beta/images/ui-go.png 取决于正在访问的代码库。

【问题讨论】:

  • 在本地缓存这个文件(例如在site-a.mysite.com/css/base-ui.less),而不是每次都使用带有php代码的文件。您可以随心所欲地处理这个(现在有效的)文件。您可以每隔几个小时左右或您认为合适的方式更新此缓存文件。这也会提高性能。

标签: php less gruntjs


【解决方案1】:

在我看来,将 url 字符串用引号 (which is quite valid; 在这里我做了单引号 ') 将解决您的问题。所以...

.ui-go {
    background: #74A372 url('<?php echo $l_uri; ?>/images/ui-go.png') repeat-x scroll 50% 50%;
}

这允许 LESS 实际输出带有 php 代码的字符串(而不是抛出错误),然后当您通过 php 解析器运行 compiled css 时(我假设这就是您正在做的),它仍应根据需要填写echo 值。

【讨论】:

    猜你喜欢
    • 2012-02-24
    • 2015-04-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-02-17
    相关资源
    最近更新 更多