这几乎肯定是我个人的概念误解。有人可以帮我理解我在哪里出错吗?
我真的想在Express.js项目中坚持RESTful路由实践。我正在使用EJS,我正在使用标准服务提供静态资产......
app.use(express.static(__dirname + '/public'));
虽然Express文档似乎没有明确提到res.redirect到路由(而不是文件路径),但它可以工作,我在假设这是标准做法的情况下运行。并且,只要路径路径名的深度只有一个(如/ range,但不喜欢/ range / edit),所有这一切都可以正常工作。
但是,当然,实际的RESTful路由实践涉及的深度比这更深......
res.redirect()非常适合RESTful路径,因为URL路径名正确无误。
但是,当我使用Express res.redirect到具有两个或更多深度级别的路径时 - 例如/ users / new - 我的EJS文件不再找到我的静态资产。它不是查找正确的目录,而是将/users/
子目录添加到静态文件路径中。
我在Google搜索中观察到这必定是预期的行为。
如何在仍然使用重定向和EJS与Express.js的同时实现RESTful路由系统?
或者,如果我只是使用重定向来导航路径而不是路由,那么设置这些RESTful路由的正确方法是什么?
我注意到在不使用res.redirect的情况下,趋势是在我的路由中出现大量代码重复,多个res.render基本上做同样的事情,并且URL路径名的附加问题反映了无论什么路由渲染起源于(而不是我更喜欢的RESTful路线)。次优的。
我必须遗漏一些基本的东西......