首页 > 解决方案 > ejs:为什么停止渲染 CSS?

问题描述

我对 EJS 有一个误解,当我做一个发布请求时,EJS 会正确呈现我的 CSS,但是当我这样做时:

exports.resetpassword = async (req, res) => {
  const {id, token} = req.params;
  
  
  const user = await LoginModel.findById(id).exec();
  const secret = process.env.TOKEN_SECRET + user.password
  
  try {
    const payload = jwt.verify(token, secret)
    req.flash('emailReseter', `${user.email}`);
    res.render("resetpassword.ejs", {messageMail: req.flash("emailReseter")});
  } catch (error) {
    console.log(error.message);
  }
  
};

这是我看到的:

在此处输入图像描述

我无法使用我的 css 文件,也不知道问题出在哪里。

我的其他 EJS 文件是相同的,除了头链接和我的 css 工作正常。

标签: cssnode.jsejs

解决方案


我以前的解决方案不好,因为如果我在参数中有一个 ID,那么我的 css 就不起作用。

所以我改变了我的 server.js

app.use(express.static("public"));

至:

app.use('/public', express.static("public"));

还更改了我所有的 ejs 文件,例如:

<link rel="stylesheet" href="css/login.css">

变成:

<link rel="stylesheet" href="/public/css/login.css">

推荐阅读