我想渲染每次请求时动态生成的css。
例如,在Express.js中我有一条路线:
/clients/:clientId/style.css
当我收到匹配请求时,我想从我的存储库中查找客户端并提取其文本颜色。然后我想把这种颜色推出到css响应中。
是否有可以渲染文本文件的模板引擎,比如style.less,我可以使用less / stylus进行解析?
任何想法,替代策略?
干杯, 戈登
答案 0 :(得分:1)
如果你还没有意识到这一点,我认为你有,你可以在手写笔中使用define(name, function)
和define(name, variable)
到CSS中的provide dynamic content。
假设您使用Express并将命令./node_modules/express/bin/express -t jade -c stylus
调用到create a skeleton site,它应该处理模板引擎 - Stylus将处理CSS和Jade(或您选择的view_engine)处理休息;我没有看到view_engine在这里是如何重要的(你能解释一下你对它的评论是否阻止在样式标签中插入数据?)
可能是您将样式标记直接嵌入到html页面中?尝试将其提取到自己的模板文件中,如果是这种情况,让Stylus拥有它。
如果您想手动设置,app.configure()
:
app.use stylus.middleware({
force: true
src: "#{__dirname}/views"
dest: "#{__dirname}/public/css"
compress: true
})
看起来像this SO post may have an alternative strategy,具体取决于您的具体需求。
希望这给你一些想法,如果不是一个完整的解决方案:)
答案 1 :(得分:0)
如果它是一个css,你可以将它添加到页面底部,浏览器将把它拿起并呈现页面