node.js中express的render的视图名和路由名不一致的问题[已解决]
业务背景
一个表的添加和删除
共用同一个视图
问题
两个get路由,分别截获不同的url
但是返回相同的视图
但是如果url名和视图名不同的话视图中
静态文件的引用地址
会自动加一个前缀,这个前缀是url路径
.这样就无法访问这个静态文件了.这是为什么?
要怎样才能让两个不同的路由,共用同一个视图文件呢?
由于赶工作,暂时没时间看文档,搜索了一下没答案,就先提个问题,麻烦大家啦.
代码
文档结构
/public/css/ex.css
/views/ex.handebars
index.js
ex.handebars
<link href="css/ex.css">
index.js
app.get('/ex',function(req,res){
res.render('ex');
})
app.get('/ex22/add',function(req,res){
res.render('ex');
//能够正常输出html文档
//但是link的路径变成了 ex22/ex.css
})
已解决:在这种匹配/xx/xx
多级路径的情况下,.handlebars
里面的引用路径要用绝对路径才行,至于为什么要这样,不懂.....
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
.handlebars
文件里面的静态资源引用地址,不要使用相对地址,使用绝对地址就解决了.至于为什么这样,还没搞懂
改成前面加
/