gpt4 book ai didi

javascript - Node Js Express 路由器不工作

转载 作者:搜寻专家 更新时间:2023-10-31 23:32:27 25 4
gpt4 key购买 nike

js,我正在学习 node js 和 express,我正在学习 express 路由,我在 rest.js 中有以下代码

    const http = require('http');
const express = require('express');
const widgetRouter = require('./rest/widgets');

const app1 = express();

const server = http.createServer(app1);



app1.get('/api',widgetRouter);


server.listen(3000,function(){
console.log('server started in port 3000');

});



const app = express();

我还有 widgets.js 文件

const express = require('express');

const widgetRouter = express.Router();

widgetRouter.route("/widgets")
.get(function(req,res){
res.json({"abc":"hello"});
})
.post();

widgetRouter.route("/widgets/:widgetId")
.get()
.put()
.delete();



module.exports = widgetRouter;

但是当我尝试测试 postman 的其余 api(http://localhost:3000/api/widgets)时,它说无法获取/api/widgets

最佳答案

您已经导入并初始化了 express 模块,但是随后您使用 http 模块启动了一个服务器。你应该只使用 Express:

您还应该使用 app.use('/api',widgetRouter) 而不是 app.get('/api', widgetRouter) 这是一个快速中间件.

const express = require('express');
const app = express();

const widgetRouter = require('./rest/widgets');

app.use('/api', widgetRouter);
app.get('/', function(req, res) {
res.send('Home');
});

app.listen(3000, function(){
console.log('server started in port 3000');
});

关于javascript - Node Js Express 路由器不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42195707/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com