应用程序设置

中英双语

下表列出了应用程序设置。

请注意,子应用程序将:

  • 不继承具有默认值的设置值。您必须在子应用程序中设置该值。
  • 继承设置的值,没有默认值; 这些在下表中明确指出。

例外:子应用将继承 trust proxy 的值,即使它具有默认值(为了向后兼容);子应用在生产中不会继承 view cache 的值(当 NODE_ENV 为 "production" 时)。

属性类型描述默认

case sensitive routing

布尔值

启用区分大小写。启用后,"/Foo" 和 "/foo" 是不同的路由。禁用时,"/Foo" 和 "/foo" 被视为相同。

注意:子应用将继承此设置的值。

不适用(未定义)

env

字符串

环境模式。生产环境一定要设置为"production";见 生产最佳实践:性能和可靠性

process.env.NODE_ENVNODE_ENV 环境变量)或 "development"(如果未设置 NODE_ENV)。

etag

多变

设置 ETag 响应标头。有关可能的值,请参阅 etag 选项表

有关 HTTP ETag 标头的更多信息

weak

jsonp callback name

字符串

指定默认 JSONP 回调名称。

"callback"

json escape

布尔值

启用从 res.jsonres.jsonpres.send API 转义 JSON 响应。这会将字符 <>& 转义为 JSON 中的 Unicode 转义序列。这样做的目的是在客户端嗅探 HTML 响应时协助 缓解某些类型的持续性 XSS 攻击

注意:子应用将继承此设置的值。

不适用(未定义)

json replacer

多变

JSON.stringify 使用的 'replacer' 参数

注意:子应用将继承此设置的值。

不适用(未定义)

json spaces

多变

JSON.stringify 使用的 'space' 参数。这通常设置为用于缩进美化 JSON 的空格数。

注意:子应用将继承此设置的值。

不适用(未定义)

query parser

多变

通过将值设置为 false 来禁用查询解析,或者将查询解析器设置为使用 "simple" 或 "extended" 或自定义查询字符串解析函数。

简单查询解析器基于 Node 的原生查询解析器 querystring

扩展查询解析器基于 qs

自定义查询字符串解析函数将接收完整的查询字符串,并且必须返回查询键及其值的对象。

"extended"

strict routing

布尔值

启用严格路由。启用后,路由器将 "/foo" 和 "/foo/" 视为不同。否则,路由器将 "/foo" 和 "/foo/" 视为相同。

注意:子应用将继承此设置的值。

不适用(未定义)

subdomain offset

数字

要删除以访问子域的主机的点分隔部分的数量。

2

trust proxy

多变

指示应用程序位于前端代理之后,并使用 X-Forwarded-* 标头来确定客户端的连接和 IP 地址。注意:X-Forwarded-* 标头很容易被欺骗,检测到的 IP 地址不可靠。

启用后,Express 会尝试确定通过前端代理或一系列代理连接的客户端的 IP 地址。req.ips 属性,然后包含客户端连接通过的 IP 地址数组。要启用它,请使用 信任代理选项表 中描述的值。

trust proxy 设置是使用 代理地址 包实现的。有关更多信息,请参阅其文档。

注意:子应用将继承此设置的值,即使它具有默认值。

false(已禁用)

views

字符串或数组

应用程序视图的目录或目录数组。如果是数组,则按照它们在数组中出现的顺序查找视图。

process.cwd() + '/views'

view cache

布尔值

启用视图模板编译缓存。

注意:子应用在生产中不会继承此设置的值(当 NODE_ENV 为 "production" 时)。

true 在生产中,否则未定义。

view engine

字符串

省略时使用的默认引擎扩展。

注意:子应用将继承此设置的值。

不适用(未定义)

x-powered-by

布尔值

启用 "X-Powered-By: Express" HTTP 标头。

true