鍍金池/ 問答/網(wǎng)絡(luò)安全  HTML/ node.js中express的render的視圖名和路由名不一致的問題[已解決

node.js中express的render的視圖名和路由名不一致的問題[已解決]

業(yè)務(wù)背景

一個(gè)表的添加和刪除
共用同一個(gè)視圖

問題
兩個(gè)get路由,分別截獲不同的url
但是返回相同的視圖

但是如果url名和視圖名不同的話
視圖中靜態(tài)文件的引用地址會(huì)自動(dòng)加一個(gè)前綴,這個(gè)前綴是url路徑.這樣就無法訪問這個(gè)靜態(tài)文件了.這是為什么?
要怎樣才能讓兩個(gè)不同的路由,共用同一個(gè)視圖文件呢?

由于趕工作,暫時(shí)沒時(shí)間看文檔,搜索了一下沒答案,就先提個(gè)問題,麻煩大家啦.

代碼

文檔結(jié)構(gòu)
/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里面的引用路徑要用絕對路徑才行,至于為什么要這樣,不懂.....
回答
編輯回答
蟲児飛

.handlebars文件里面的靜態(tài)資源引用地址,不要使用相對地址,使用絕對地址就解決了.
至于為什么這樣,還沒搞懂

<link href="css/ex.css">

改成前面加/

<link href="/css/ex.css">
2017年10月27日 08:58