我正在使用node,express和jade製作項目。我想通過訪問內容:將別名查詢字符串表示爲參數
/Page/foo/bar
和
/Page?Foo=foo&Bar=bar
我想頂部是底部的別名。
這是解決我現在有:
server.js
// some stuff
app.get('/Page/:Foo/:Bar',function(req,res){
res.render('Page.jade', {Foo: req.params.Foo, Bar: req.params.Bar});
});
app.get('/Page',function(req,res){
res.render('Page.jade', {Foo: req.query.Foo, Bar: req.query.Bar});
});
// more stuff
Page.jade
doctype html
html
head
script var foo = "!{Foo}"; bar = "!{Bar}";
script(src="/Page.js")
// stuff
Page.js
// stuff with foo and bar, such as:
console.log(foo);
console.log(bar);
事情我不我不喜歡這個解決方案它迫使我用明文處理參數和查詢(這幾乎是重複的代碼,但是不夠接近以減少它),將它傳遞給jade,jade將它存儲在一個變量中,唯一的目的是具有鏈接JavaScript文件使用這些變量。
通常只使用查詢字符串我只需要在Page.js中觸摸它。有沒有一種方法可以設置express來有效地將第一個URL解釋爲查詢字符串,就像第二個URL一樣,所以玉文件不必觸摸變量?
這隻能讓明確看到查詢值,而不是Page.js文件,除非我失去了一些東西。 – DeadEli