为什么我在 URL 上收到 404 错误?

Why am I getting a 404 error on this URL?

谁能告诉我为什么在 URL 中键入 \book 时出现 404 错误?

这是我的代码:

var express = require('express'),
    app = express(),
    chalk = require('chalk'),
    debug = require('debug')('app'),
    morgan = require('morgan'),
    path = require('path'),
    PORT = process.env.PORT || 3000;


app.use(morgan('tiny'));
const bookRoutes = require('./routes/bookroutes');

app.use(express.static(path.join(__dirname,'/public')));
app.use('/css',express.static(path.join(__dirname,'/node_modules/bootstrap/dist/css')))
app.use('/js',express.static(path.join(__dirname,'/node_modules/bootstrap/dist/js')))
app.use('/js',express.static(path.join(__dirname,'/node_modules/jquery/dist')))

app.use('book',bookRoutes);
app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, '/views/index.html'))
});


app.listen(PORT, () => {
    debug(`listing to ${chalk.red(PORT)}`);

});

bookroutes.js:

var express = require('express');
var bookRoutes = express.Router();

bookRoutes.route('/', (req, res) => {
    console.log('book')
    res.send('book')
});

module.exports = bookRoutes;

当我在浏览器URL中输入http://localhost:3000/book时,它会显示这些错误:

[nodemon] restarting due to changes...
[nodemon] starting `node index.js`
  app listing to 3000 +0ms
GET /worker.js 404 148 - 7.814 ms
GET /book 404 143 - 1.021 ms

您的代码有几个问题。您的路线定义中缺少 /

app.use('/book', bookRoutes);

bookRoutes.js 中,您必须使用 router 对象上的 get 方法来定义 GET /book 端点的处理程序。

bookRoutes.get('/', (req, res) => {
  res.send('book');
});

有关详细信息,请查看 documentation