渲染子域的 ExpressJS 问题

ExpressJS problem with rendering subdomain

我正在写商店,但我遇到了渲染问题。

我想要子域/类别,它正在工作,只是找到像 tis 这样的路由

const CategoryOne = ((req, res) =>{ res.render('shop/category'); }); router.get('/category', CategoryOne);

这很完美,但是当我进入子域 category/shoes 时,我想使用参数 shoes

重定向到 /category
const Category = ((req, res) =>{
  const categoryPass = req.params.category;
  res.render('shop/category', {
    category: categoryPass 
  });
});
router.get('/category/:category', Category);

它不起作用,我应该重定向吗?当我这样做时

res.redirect('/category')

那我没有类别参数

编辑: 到目前为止我做了什么:

const CategoryOne = ((req, res) =>{
const passedCategory = req.session.categorypassed;
req.session.categorypassed = undefined;
console.log(passedCategory);
Product.find((err, response) => {
res.render('shop/category', {
  title: 'Test', products: response, category: passedCategory
});
});

});

const Category = ((req, res) =>{
  req.session.categorypassed = req.params.category;
  res.redirect('/category');
});

问题是,当我刷新页面时,我没有这个参数,有什么办法可以保存它吗?

处理此问题的更好方法是为您的资产使用中央 public 目录并使用 绝对路径 请求它们,例如 /assets/images/logo.png ,而不是 相对路径 ,例如 assets/images/logo.png.

您可以阅读有关相对路径和绝对路径的更多信息here