Express.js观“全局”

在前端开发中,Express.js是一个非常受欢迎的Node.js web应用程序框架。它提供了一种方便快捷的方式来处理HTTP请求和响应,同时还能轻松管理会话、路由和中间件等功能。

全局对象

当我们使用Express.js时,可以访问到一些全局对象,如 approuter。这些对象可以让我们在应用程序级别进行配置和操作。

app对象

app 对象代表着我们的应用程序,通过该对象可以注册路由、中间件以及其他可用组件。

以下是一个基础应用的示例:

----- ------- - -------------------
----- --- - ----------

------------ ------------- ---- -
  --------------- ---------
---

---------------- ---------- -
  ------------------- ------- -- ---- -------
---

在上面的示例中,我们创建了一个Express.js应用程序并使用 app.get 注册了一个处理 / 路径的路由。当我们访问 http://localhost:3000/ 时,服务器将返回 "Hello world!" 信息。

此外,app 对象还有其他有用的方法和属性,如 app.use 可以注册中间件、app.locals 可以设置全局变量、app.set 可以设置应用程序配置等。

router对象

router 对象代表着一个单独的路由器,可以使用它来组织和管理应用程序内的路由。可以通过创建多个 router 实例来实现更好的代码可读性和可维护性。

以下是一个使用 router 的示例:

----- ------- - -------------------
----- --- - ----------
----- ------ - -----------------

--------------- ------------- ---- -
  --------------- ---- ----------
---

------------------ --------

---------------- ---------- -
  ------------------- ------- -- ---- -------
---

在上面的示例中,我们创建了一个名为 router 的新的路由器,并使用 router.get 注册了一个处理 / 路径的路由。最后,我们使用 app.use 将该路由器挂载到 /router 路径下。当我们访问 http://localhost:3000/router/ 时,服务器将返回 "Hello from router!" 信息。

中间件

中间件是Express.js框架中的一个核心概念。它们允许我们在请求和响应之间执行某些操作,如身份验证、请求处理、错误处理等等。

应用级别中间件

应用级别中间件绑定到 app 对象上,可以在整个应用程序范围内被调用。

以下是一个使用应用级别中间件的示例:

----- ------- - -------------------
----- --- - ----------

-- --------
----- ------------ - ------------- ---- ----- -
  ----------------- -- -- ------ --------------
  -------
--

-- -----
----------------------

------------ ------------- ---- -
  --------------- ---------
---

---------------- ---------- -
  ------------------- ------- -- ---- -------
---

在上面的示例中,我们注册了一个名为 myMiddleware 的中间件,并使用 app.use 将其绑定到应用程序级别。当我们访问 http://localhost:3000/ 时,服务器将打印 "This is my custom middleware!" 到控制台。

路由级别中间件

路由级别中间件绑定到单个路由或一组路由上。

以下是一个使用路由级别中间件的示例:

----- ------- - -------------------
----- --- - ----------
----- ------ - -----------------

-- --------
----- ------------ -

- ----------------------------------------------------------- --------
---------------------------------------------------------------------------------------