为什么需要 module.exports=router ?

hba*_*bat 8 node.js express

在我的 node.js 服务器配置文件中,我设置了app.use('/user', user.js),它将/user路由映射到user.js文件。

然后我在文件中创建子路user.js由来处理我的获取或发布请求。

module.exports=router我的问题是:这个文件末尾的责任是什么?

如果我删除它,路由就会停止工作,所以我不明白它是否在这里告诉我的服务器conf文件中有子路径user.js

var express = require('express');

var user = require('../../models/user');
var db = require('../../models/index');


var router = express.Router();


router.get('/addUser',function (req, res, next) {
  db.user.create(req.body)
    .then(user => res.json({

      data: user,

    }))
    .catch(error => res.json({
      error: true,
      data: [],
      error: error
  }));
});
module.exports = router;
Run Code Online (Sandbox Code Playgroud)

Mav*_*tes 7

当你这样做时

var user = require('../../models/user');
Run Code Online (Sandbox Code Playgroud)

user对象将获取从 中的模块导出的任何内容user.js。因此user.js,在 中,module.exports=router正在映射路由器以及映射所需的所有逻辑/user(以及正确的回调等......)

如果删除它,您的require语句将无法从该模块获取导出的对象,这就是它会失败的原因。您的用户对象将被有效无效。

请在此处查看更多信息: https: //www.tutorialsteacher.com/nodejs/nodejs-module-exports