2016-08-11 127 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

这样做!非常感谢您的帮助。 –