node.js - express 4.x 如何在不同js文件中处理router请求

 坏坏不贱_233 发布于 2022-11-01 13:45

users.js

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

router.get('/users', function(req, res, next) {
  res.send('Test')
});

module.exports = router;

index.js

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

var users = require('./users')

...

app.js

...
var index = require('./routes/index');
app.use('/', index);
...

这里我只列出部分代码,但无论我是在index.js中引用user.js还是在app.js中引用,处理/users这个网络请求都是404,所以我想问一下是不是因为一个项目中只能建立一个路由啊,然后另一个问题就是app.use()这个函数的参数分别代表了什么,谢谢各位大神

2 个回答
  • 看问题的意思,在index.js中引用了users.js,我猜是想有一个统一的路由管理器,并不想在app.js里面注册所有的路由,由于index.js中没有完整的代码,所以顺着这个思路,index.js内容是这样的:
    var express = require('express');
    var users=require('./users');
    var app=express();
    app.use('/user',users);
    module.exports=app;
    然后在同一入口app.js里面注册这个index.js就行了,那样就不用再去注册users这个路由了

    2022-11-02 07:41 回答
  • 在入口文件里面,比如app.js,一般都是在这个里面注册中间件等等,导出app,然后在你需要用到的路由文件里面直接引入这个app,比如app.get("/hello", function() {})

    use函数有两个参数,第一个参数一般是匹配一个路由的,第二个函数是注册中间件的,如果没有第一个参数,那么第二个函数将会应用到每一次请求里面。

    2022-11-02 07:49 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有