可以使用Express.js动态呈现css吗?
我想呈现每个请求在运行中生成的css。可以使用Express.js动态呈现css吗?
例如,在Express.js我有一个路线:
/clients/:clientId/style.css
当我得到一个匹配的要求,我想从我的存储库中查找客户端,并拔出他们的文本颜色。然后我想将这种颜色推送到css响应中。
是否有一个模板引擎可以渲染一个文本文件,比如style.less,我可以用less/stylus解析?
任何想法,替代策略?
干杯, 戈登
如果你的避风港没有意识到这一点,我认为你有,你可以使用和define(name, variable)
在手写笔到provide dynamic content CSS内。
假设您使用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,根据您的具体需求。
希望这给你一些想法,如果不是一个完整的解决方案:)
如果它的CSS,你可以将它添加到页面的底部,浏览器将它捡起来呈现网页
但如何?例如,翡翠不允许插入样式标签(或脚本标签,btw)内的数据。 有没有不同的渲染引擎呢? 干杯,戈登 –
不,我没有意识到!干杯加藤。手写笔定义方法是要走的路。任何人都知道它是否可以在LESS中完成? –