Node,Express - 无法获取路由

Jar*_*red 7 javascript routing node.js express server

我正在构建一个Express应用程序并遇到一些路由问题.我的'/'路线工作正常,但其他路线不是.我已经调查了人们发布的其他问题,这些问题都没有解决我的问题.

我有一个routes/index.js文件:

module.exports = function(app){
  app.use('/', require('./routes/home'));
  app.use('/about', require('./routes/about'));
}
Run Code Online (Sandbox Code Playgroud)

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

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

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

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

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

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

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

module.exports = router;
Run Code Online (Sandbox Code Playgroud)

当我转到'/ about'时,我在浏览器中看到了这个错误 - '无法获取/关于'

home.html和about.html文件都位于相同的views目录中.

这里的任何帮助将非常感谢!

Lei*_*man 18

让我引用明文:

路径将立即匹配其路径后面的任何路径"/".例如:app.use('/ apple',...)将匹配"/ apple","/ apple/images","/ apple/images/news"等. 见明确的文件

这是"不工作",因为你设置/aboutapp.use和中router.get.尝试请求/about/about,你会发现这是有效的(只是不是你想要的)..

现在只是改变/aboutroutes/about.js随后重新运行,并试图请求/about,它会工作:)


Tim*_*erz 8

您的路线设置为/about/about.改变about.js这样的:

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

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

module.exports = router;
Run Code Online (Sandbox Code Playgroud)