我想呈现在每个请求时动态生成的css。

例如,在Express中。js我有一条路线:

/clients/:clientId/style.css

当我收到匹配的请求时,我想从我的存储库中查找客户端并拉出它们的文本颜色。然后我想把这个颜色推到css响应中。

是否有模板引擎可以呈现文本文件,比如样式。少,我可以用less/stylus解析?

任何想法,替代策略?

干杯!, 戈登

有帮助吗?

解决方案

如果你还没有意识到这一点,我想你有,你可以使用 define(name, function)define(name, variable) 在手写笔到 提供动态内容 在CSS内。

假设您使用Express并调用命令 ./node_modules/express/bin/express -t jade -c stylus创建骨架站点, ,它应该照顾模板引擎-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
  })

它看起来像 这个SO post可能有一个替代策略, ,取决于您的特定需求。

希望这给你一些想法,如果不是一个完整的解决方案:)

其他提示

如果它是一个CSS,你可以将其添加到页面的底部,浏览器将拾取并呈现页面

jquery包括css

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top