2016-08-11 68 views
3

我正在構建快遞應用程序,並且存在一些路由問題。我的'/'路線工作完美,但其他路線不是。我查看了人們發佈的其他問題,這些問題還沒有解決我的問題。節點,快遞 - 無法獲取路線

我有一個路由/ index.js文件:

module.exports = function(app){ 
    app.use('/', require('./routes/home')); 
    app.use('/about', require('./routes/about')); 
} 

我的路線/ home.js: - 工作!

const express = require('express'); 
const router = express.Router(); 

router.get('/', function(req, res) { 
    res.render('app/home'); 
}); 

module.exports = router; 

我的路線/ about.js: - 不工作!

const express = require('express'); 
const router = express.Router(); 

router.get('/about', function(req, res) { 
    res.render('app/about'); 
}); 

module.exports = router; 

當我去「/關於」我看到這個錯誤在瀏覽器 - 「不能讓/關於」

無論是home.html的和about.html文件位於同一目錄意見。

在這裏的任何幫助將不勝感激!

+0

「不工作」是不是一個很好的問題描述。當你嘗試訪問'http:// your.server/about'時會發生什麼?你有沒有看到任何錯誤? –

+0

是的,抱歉的模糊描述。在頁面上獲取錯誤 - 「無法獲取/關於」。瀏覽器控制檯或終端沒有錯誤 –

回答

6

讓我從快車DOC引用:

路由將匹配以一個「/」緊隨其路徑的任何路徑。例如:app.use('/ apple',...)將匹配「/ apple」,「/ apple/images」,「/ apple/images/news」等。 see express doc

這是「不工作」,因爲你在app.use,並在router.get設置​​。嘗試請求/about/about,你會看到,這是工作(只是沒有你想)..

現在只是改變​​在routes/about.js然後重新運行,並嘗試請求​​,它會工作:)

+0

是的,我看到沒問題!謝謝。 :) –

+0

謝謝你,我瘋了! – kerrin

6

您的路線設置爲/about/about。 更改about.js這樣:

const express = require('express'); 
const router = express.Router(); 

router.get('/', function(req, res) { 
    res.render('app/about'); 
}); 

module.exports = router; 
+0

這樣做!非常感謝您的幫助。 –