express.Router()与多个express()对象的区别?

时间:2016-04-28 04:09:24

标签: javascript node.js express

我知道使用新的express 4路由器,我们可以将多个路径路径组织成不同的文件,如下所示:

    Scanner sc = new Scanner(System.in);

    // open file and prompt for file name
    System.out.print("Enter a file name: ");
    String fileName = sc.nextLine();
    File infile = new File(fileName);
    Scanner readIt = new Scanner(infile);

    //prints <greeting> of text file. Ex. hello|howdy|etc...
    String greeting = readIt.nextLine();
    greeting.split("|");
    System.out.println(greeting);

现在我想知道我是否在// In cars.js const router = express.Router(); router.get('/brands', function(req, res) { ... }); router.get('/models', function(req, res) { ... }); module.exports = router; // In animals.js const routerTwo = express.Router(); routerTwo.get('/domestic', function(req, res) { ... }); routerTwo.get('/wild', function(req, res) { ... }); module.exports = routerTwo; // In main.js app.use('/cars', router); // matches `/cars/brands`, `/cars/models`. app.use('/animals', routerTwo); // matches `animals/domestic`, `animals/wild`. express.Router()文件中仅使用express()更改cars.js,它会起作用,因为它们都充当了新的实例express()我们称之为mini-app。那么新的animals.js对象有什么用?

express.Router()对象中暴露的相同方法及其功能是否可通过多个express.Router()实例(如模块化路由器处理程序等)实现?

1 个答案:

答案 0 :(得分:1)

简单来说,路由器是快速应用程序的轻量级版本,或as Express docs put it,一个迷你快递应用程序。

全局快递对象附带了更多资源来支持视图和各种设置,而路由器基本上提供了 <div class="mdl-layout__drawer"> <span class="mdl-layout-title">SITE NAME</span> <nav class="mdl-navigation"> <a class="mdl-navigation__link" href="">Link</a> <a class="mdl-navigation__link" href="">Link</a> <a class="mdl-navigation__link" href="">Link</a> <a class="mdl-navigation__link" href="">Link</a> </nav> </div> .use.get和{{1}等路由API }。路由器对象代表中间件和路由的隔离实例,并且只能执行中间件和路由功能,这使其非常适合有效地模块化路由处理。

  

现在我想知道我是否在cars.js和animals.js文件中仅使用.param更改了route,它会起作用,因为它们都是快递的新实例( )我们称之为mini-app。那么新的express.Router()对象有什么用?

好吧,你应该仍然可以使用express()而不是express.Router()来进行隔离路由,但是你也可以带来很多额外的代码,你可能不会使用它们&# 39;不必要的开销。

这就是创建express()的原因:提供路由模块化而无需创建额外应用的开销。

相关:https://en.wikipedia.org/wiki/Liskov_substitution_principle