繁体   English   中英

路由在 node.js 和 express.js API 中不起作用

[英]routing not working in node.js and express.js API

我正在尝试将路由从 node.js 服务器分离到文件夹路由。 但它不起作用。

当我运行服务器时, console.log('hello from express')未打印。 也不执行res.send()

路线/ index.js

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

router.get('/api/hello', (req, res) => {
  console.log({ express: 'Hello From Express' });

  res.send({ express: 'Hello From Express' });
});

module.exports = router;

server.js

var indexRoute=require('./routes/index.js');

app.use('/api/hello',indexRoute);

我该如何解决问题? 提前致谢。

更改您的代码:

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

router.get('/', (req, res) => {
  console.log({ express: 'Hello From Express' });

  res.send({ express: 'Hello From Express' });
});

module.exports = router;

这段代码是关于当用户到达你在 中指定的路线时要做什么:

app.use('/api/hello',indexRoute);

所以你的路由应该只在/api/hello之后处理

让我们看一个例子:

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

router.get('/hello', (req, res) => {
  res.send({ express: 'Hello From Express' });
});

router.get('/goodbye', (req, res) => {
  res.send({ express: 'Goodbye From Express' });
});

module.exports = router;

这个路由处理程序现在被定义为处理[URL]/hello[URL]/goodbye所以让我们把它挂在网站上的 url [site]/greeting/

app.use('/greeting', indexRoute);

现在在我们的网站上,我们有 2 条路线[site]/greeting/hello[site]/greeting/goodbye

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM