app.get()或router.get() - ExpressJs之间的区别

时间:2017-01-24 18:28:04

标签: node.js express

有什么区别:

var express = new express();
var app = new express();

app.get("/", function() {

.....
})

var express = new express();
var router= express.Router();

    router.get("/", function() {

    .....
    })

2 个答案:

答案 0 :(得分:7)

app.get可用于在顶层为您的应用程序创建路线。

有关express.Router

的文档
  

使用express.Router类创建模块化,可安装的路由处理程序。 Router实例是一个完整的中间件和路由系统;因此,它通常被称为“迷你app”。

需要将路由器安装到应用程序:

const router = express.Router();

router.get("/", (res, req) => res.end());
router.post("/", (res, req) => res.end());

app.use("/empty", router);

这使您可以更轻松地将多个路由的功能封装到应用程序中,该应用程序将在特定路径下进行命名空间。

答案 1 :(得分:4)

  

在app.js中调用express()时,会返回一个app对象。将app对象视为Express应用程序。

     

当express.Router()被调用时,一个稍微不同的"迷你应用程序"是   回。 "迷你应用背后的想法"是不同的路线   您的应用可能会变得非常复杂,并且您可以从移动中受益   将该逻辑转换为单独的文件。

查看此SO Thread了解详情。