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

Using different stylesheets in express/ node/ ejs application - style not defined

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

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

说我做了这个 mySite.css 并且在 boilerplate.ejs 我做了一个 link 样式:

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

我应该如何定义 'style' 才不会出现“样式未定义”错误?

对不起,如果这是我应该具备的基本表达知识,但我仍在学习中

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

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

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

然后就是在每个页面的渲染中添加style属性:

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" />
  <!-- ------------------------------------------------- -->