我需要传递动态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)我应该如何配置我的服务器和应用程序来实现这一目标?
任何帮助都将不胜感激。
由于 罗南
答案 0 :(得分: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代码中提供的所有内容。
答案 1 :(得分: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;