1

我需要交付动态的 CSS 内容。简而言之,我需要这个:

<link href="/css/site.css?color=111111" rel="stylesheet" type="text/css">

其中 site.css 未处理的代码较少。

因此,我在服务器端安装了 Node.js+LESS,以下行运行良好:

$ lessc testless.less

但是我仍然没有弄清楚如何配置服务器来响应这些 HTTP 请求。

1) 最好的选择是什么:使用 apache 或 node.js?(我已经安装并运行了 apache 服务器)

2)我应该如何配置我的服务器和应用程序来实现这一点?

任何帮助,将不胜感激。

谢谢罗南

4

2 回答 2

1

我会推荐另一个基于 JavaScript 的预处理器 - http://krasimir.github.io/absurd/。这个想法是使用 JavaScript 对象或 JSON 并生成 CSS。稍后,可以将此 CSS 添加到文档中。

api.add({
    body: {
        marginTop: "20px",
        width: "100%"
    },
    header: {
        width: "100%"
    }
});

编译为:

body {
  margin-top: 20px;
}
body, header {
  width: 100%;
}

AbsurdJS 可用于服务器端(nodejs)或客户端使用。好消息是您可以使用通常的 js 代码中可用的所有内容。

于 2013-11-18T13:47:17.067 回答
0

我解决了同样的问题来构建http://twitterbootstrap3navbars.w3masters.nl/http://twitterbootstrap3buttons.w3masters.nl/。对于这两个应用程序,我都使用 apache 和 php。

对于按钮生成器,我使用了 Lessphp,对于导航栏生成器,我通过 PHP 的 exec() 调用了 lessc。

我使用更少的代码来编写内联样式表。在您的情况下,您将创建一个动态样式表。

所以例如使用:

<link href="/css/site.php?color=111111" rel="stylesheet" type="text/css">

使用site.php:

<?
//use lessphp from http://leafo.net/lessphp/
header("Content-type: text/css", true);
$less = new lessc;
echo $less->compile('p {color: '.$_GET['color'].'; }');
exit;

或者

<?
//use lessc
header("Content-type: text/css", true);
exec( echo "p { color: '.$_GET['color'].'; }" | /usr/local/bin/lessc -',$output,$error);
echo implode("\n",$output);
exit;
于 2013-11-18T13:42:31.387 回答