我正在写商店,但我遇到了渲染问题。
我想要有子域/类别,它正在工作,只是找到像 tis 这样的路由
const CategoryOne = ((req, res) =>{
res.render('商店/类别');
});
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');
});
问题是,当我刷新页面时我没有这个参数,有什么办法可以保存它吗?
最佳答案
处理这个问题的更好方法是为您的 Assets 使用中央公共(public)目录并使用绝对路径请求它们,例如/assets/images/logo.png
,而不是相对路径,例如assets/images/logo.png
。
您可以阅读更多关于相对和绝对路径的信息 here
关于javascript - 渲染子域的 ExpressJS 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53966010/