2017-03-12 56 views
1

爲什麼這會給我404-NotFound?理解解析node-express route.get()的路由路徑變量

var test = require('./routes/test'); 
app.use('/test', test); 
router.get('/test', function (req, res, next) { 
    //res.render('/test', { title: 'test' }); 
    res.send('respond with a TEST resource'); 
}); 

這給了我什麼預期?

var test = require('./routes/test'); 
app.use('/test', test); 
router.get('/', function (req, res, next) { 
    //res.render('/test', { title: 'test' }); 
    res.send('respond with a TEST resource'); 
}); 

在任一情況res.send()& res.render()表現相似。第一個響應是404-NotFound。第二個是你想看到的。

感謝您的幫助

回答

0

我的理解是正確的嗎?

在這種情況下,route.get('/', ...)確實意味着獲得http://site/test,因爲test.js文件位於文件routes/test.js中。 因此在這種情況下,get()'\'是相對於/test的根。

+0

這是正確的。簡單的測試是瀏覽到「http:// site/test/test」 – Steve