Express app.get 进行路由 Route 设置

Basic routing

路由是指确定应用程序如何响应客户端对特定端点的请求,即 URI(或路径)和特定的 HTTP 请求方法(GET、POST 等)。

每个路由可以有一个或多个处理函数,当路由匹配时执行。

路由定义采用以下结构:

app.METHOD(PATH, HANDLER)

  • app 是 express 的一个实例。
  • METHOD 是一种 HTTP 请求方法,以小写形式表示。
  • PATH 是服务器上的路径。
  • HANDLER 是路由匹配时执行的函数。

看一段代码:

// All regular routes use the Universal engine
  server.get('*', (req, res) => {
    res.render(indexHtml, {
      req,
      providers: [{ provide: APP_BASE_HREF, useValue: req.baseUrl }],
    });
  });

app.get(path, callback [, callback …])

使用指定的回调函数将 HTTP GET 请求路由到指定路径。

回调函数可以是下列类型:

  • 一个中间件函数
  • 一系列中间件函数(以逗号分隔)。
  • 一个中间件函数的数组
  • 以上所有的组合。

你可以提供多个回调函数,它们的行为就像中间件,除了这些回调可以调用 next (‘route’) 来绕过剩余的路由回调。 您可以使用此机制对路由施加前提条件,然后在没有理由继续当前路由的情况下将控制权传递给后续路由。

由于 router 和 app 实现了中间件接口,因此您可以像使用任何其他中间件功能一样使用它们。

router.all(path, [callback, …] callback)

这个方法就像 router.METHOD() 方法,除了它匹配所有 HTTP 方法(动词)。

此方法对于为特定路径前缀或任意匹配映射“全局”逻辑非常有用。 例如,如果您将以下路由放在所有其他路由定义的顶部,则需要从该点开始的所有路由都需要身份验证,并自动加载用户。 请记住,这些回调不必充当 endpoints; loadUser 可以执行一个任务,然后调用 next() 继续匹配后续路由。

router.all(’*’, requireAuthentication, loadUser)

上一篇:JavaScript JSONP实现跨域


下一篇:express