express之application.js
发布日期:2021-05-28 16:23:54 浏览次数:30 分类:精选文章

本文共 1082 字,大约阅读时间需要 3 分钟。

express应用程序的原型是一个高度可定制的 node.js框架,用于构建全栈 web应用。以下是该原型的核心特性解析:

  • 应用程序初始化时会调用init方法进行配置,此方法负责设置视图缓存、模板引擎等基础设置。需要注意的是,虽然大部分配置在初始化时完成,但部分配置可以在后续使用中通过set方法覆盖。

  • Express应用可以通过use方法将中间件挂载到另一个 Express 实例上,这一过程会触发mount事件。这个事件允许父子应用之间协同工作,尤其是在信任代理等配置上,子应用可以继承父实例的设置。

  • 每个 Express 实例都拥有一个根 Router 实例(通过 lazyrouter 方法初始化),用于管理路由规则的定义和处理。这个根 Router 实例是一个独立的对象,通过诸如use、route等方法进行操作,直到真正使用时才会初始化详细配置。

  • Express 实例的 Router 对象默认添加了两个全局中间件,这些中间件负责处理请求参数解析和异常处理等关键任务。

  • 在使用use方法挂载中间件时,支持三种类型的对象:普通中间件、child Router 实例以及 Express 实例。需要注意的是,Express 实例在挂载前需要经过适当包装,否则可能无法正常工作。此外,挂载过程会默认将路径设定为根路径。

  • Express 的模板系统允许为不同的视图扩展名设定专门的模板引擎。例如,你可以为 .html、.pug 等文件类型指定不同的模板渲染方法,这大大扩展了视图管理的灵活性。

  • Express 的set方法是一个双向接口,支持通过单独参数获取配置值,通过两个参数设置配置值。一些特定配置(如etag、query parser、trust proxy)在设置时会触发特定的编译过程,确保配置得以正确应用。

  • Express 应用支持通过path方法获取绝对路径功能。当应用被挂载在父实例时,path 方法会结合父实例的路径和自身挂载路径得到最终路径。

  • Express 提供了全面的http方法支持(如get、post等),这些方法可以用于在特定路径上添加中间件。此外,all方法允许一次性在多个http方法上注册多个中间件。

  • 渲染视图时,Express 首先会检查缓存中是否存在最新的视图结果。如果没有,则会创建对应的视图实例,并根据配置决定是否使用缓存。渲染过程中,Injected本地配置和全局设置会被合并,确保模板可以访问到所有必要的数据。

  • 通过以上特性,Express 提供了一个灵活且强大的框架,适用于从小型项目到大型复杂项目的开发需求。

    上一篇:express之express.js
    下一篇:nestjs中间件之MiddlewareBuilder类

    发表评论

    最新留言

    做的很好,不错不错
    [***.243.131.199]2025年04月28日 18时19分12秒