假设我有app.js为
var express=require('express');
var app= express();
app.get('/',function(req,res){...});
可以通过两种不同的方式使用中间件(使用)在此文件之外创建路由:
第一种方法:
使用app.js如下:
var express=require('express');
var app= express();
app.use('/',require('myRouter'))
在myRouter.js里面
var express=require('express');
var router=express.Router();
router.get('/',function(req,res){...});
module.export=router;
第二种方法:
使用app.js如下:
var express=require('express');
var app= express();
app.use('/',require('myRouter')(app))
在myRouter.js里面
module.exports=function(app){
app.get('/',function(req,res){...});
}
我的问题与比较第一和第二种方法有关,哪种方法最好。 我是否正确,在第一种方法中,我们再次定义了表达式变量(因此我们将在app.js中有两个表达变量,在myRouter.js中有一个)或者当整个应用程序在nodejs中编译时,这两个表达式变量是否相同?
由于
答案 0 :(得分:1)
Express是一个 unopinionated 框架,这意味着设计应用程序结构没有对错。这取决于开发人员。
当您需要在多个模块中反复使用快递时,您会获得相同 参考,因此您无需担心。在您的示例中,两者都是正确的。
答案 1 :(得分:0)
请使用此代码。
const express = require('express');
const app = express();
const users = require('./routes/users');
app.use('/users', users);
// in users
const express = require('express');
const router = express.Router();
router.post('/', userController.register);
....
module.exports = router;