【问题标题】:ejs : why it's stop to render CSS?ejs:为什么停止渲染 CSS?
【发布时间】:2021-09-22 01:23:38
【问题描述】:

我对 EJS 有一个误解,当我发出一个 post 请求时,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 工作正常。

【问题讨论】:

  • 嘿,伙计,您可以尝试使用 express (app.use(express.static(__dirname + '/public'))) 附带的静态中间件吗?在您的 html 文件中,您应该在使用它之后删除 / 前缀。让我知道这是否有效,我会将其作为答案。

标签: css node.js ejs


【解决方案1】:

到目前为止,我管理它的唯一方法

我添加了我的路线:

const router = require("express").Router();
const services = require('../service/render');

router.get("/", services.login);
router.get('/forgot-password', services.forgotpassword);
router.get('/reset-password/:id/:token', services.resetpassword);
router.get('/reset-password', services.resetpasswordredirect)

在我的 render.js 中

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.redirect('/reset-password')
  } catch (error) {
    console.log(error.message);
  }
  
};

exports.resetpasswordredirect = async (req,res)=>{
  res.render("resetpassword.ejs", {messageMail: req.flash("emailReseter")});
  
}

【讨论】:

    【解决方案2】:

    我以前的解决方案不好,因为如果我在参数中有一个 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">
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2015-08-13
      • 2013-08-24
      • 2014-07-09
      • 1970-01-01
      • 1970-01-01
      • 2017-02-02
      • 1970-01-01
      相关资源
      最近更新 更多