将 ejs 参数传递给手写笔文件

Passing ejs parameters to stylus file

我希望在渲染 Stylus 文件时将参数传递给它。例如,在我的 app.js 文件中,我有:

app.get('/myPage', function(req, res) {res.render('myPageTemplate', { title: 
'MyPageTitle' , myColor: '#E3D'});});
app.get('/myPage2', function(req, res) {res.render('myPageTemplate', { title: 
'MyPage2Title' , myColor: '#0FF'});});

显然我可以在我的 ejs 文件中访问这些参数,例如 <title><%= title%></title>

在我的 Stylus 文件中,我希望能够执行如下操作:

div{ 
   background-color: <%=myColor%>;
}

这可能吗,还是我做错了? 感谢您的帮助!

这确实是个坏主意,因为大多数反向代理(如果您使用的是像 cloudflare 这样的反向代理)都会缓存您的 css 并且它还会设置 Cache-Control headers 以便浏览器可以缓存它。所以你不会得到你想要的行为。

您可以创建多个 css 类,然后根据条件将这些 类 添加到 .ejs 文件中的 div,而不是像现在这样做。