在express/node/ejs应用程序中使用不同的样式表-未定义样式



我想在express/node/ejs项目中使用不同的样式表。我想渲染一个具有特定风格的视图,所以在app.js中我这样做:

app.get('/mySite', (req, res) => {
res.render('mySite', { style: mySite });

假设我做了这个mySite.css,并在样板文件.ejs中创建了一个样式链接:

<link rel="stylesheet" type="text/css" href="/stylesheets/<%=style%>.css">

我应该如何定义"样式"以避免出现错误";样式没有定义";?

很抱歉,如果这是我应该有的基本表达知识,但我仍在学习

我也在学习,通过在controller.js文件中定义样式表名称的对象,这种方法对我来说很好。

const styles = {
index: "styles",
register: "register",
login: "login",
};

然后只是将样式属性添加到每个页面的呈现中:

const mainController = {
index: (req, res) => {
res.render("./products/index", {
showRoom: productCollection,
style: styles.index,
});
},
register: (req, res) => {
res.render("./users/register", {
style: styles.register,
});
},
login: (req, res) => {
res.render("./users/login", {
style: styles.login,
});
},
};

这样,每当呈现索引、寄存器等时,它都会调用样式表的名称来完成HTML:中的href

<!-- APPLIES EACH SPECIFIC STYLESHEET TO EACH SITE -->
<link rel="stylesheet" href="/styles/<%= style %>.css" />
<!-- ------------------------------------------------- -->

好吧,我了解到这可以通过在路由中适当引用样式来完成,而在样板中,样式引用必须有ejs语法

最新更新