app.set函数的作用(express.js)



我是node.js的新手,正在经历一个例子,无法理解app.set('title', 'My Site');请帮忙好吗?

可以使用express实例来存储和检索变量。在本例中,您可以将标题设置为"我的网站"。然后用

这样的格式检索
var title = app.get('title');

而不需要声明和保持全局变量。

参数名没有任何意义。你可以写

app.set('jabberwocky', 'correct battery horse staples');

。例如,如果你对jade使用express,你可能需要在模板中检索'jabberwocky'的值。


编辑:因为这个答案被标记为正确的,它是最多的投票,这是我的责任指出你的Vlad Pana下面的一个https://stackoverflow.com/a/44007538/1030087

要求你在应用实例上设置的几个键名确实有特殊的含义。

我知道我来晚了一点,但我也有同样的问题,这就是我怎么到这里的。在我做了一些研究之后,我觉得答案有点不完整。如果第一个参数是应用程序设置,则必须读取下表。

属性->类型->描述

区分大小写路由->布尔- - ->启用区分大小写。启用后,"/Foo"one_answers"/Foo"是不同的路由。当被禁用时,"/Foo"one_answers"/Foo"被视为相同。

env - - ->字符串->环境模式。确保在生产环境中设置为"production";参见生产最佳实践:性能和可靠性。
process.env。NODE_ENV (NODE_ENV环境变量),如果没有设置NODE_ENV,则为" development "。

etag - - ->变化- - ->设置ETag响应头。关于可能的值,请参见etag options表。

jsonp回调名称->字符串->指定默认的JSONP回调名称。

json replacer ->变化- - ->JSON.stringify使用的'replacer'参数。注意:子应用程序将继承此设置的值。

json空格->变化- - ->JSON.stringify使用的'space'参数。这通常设置为用于缩进经过美化的JSON的空格数。注意:子应用程序将继承此设置的值。

查询解析器->变化- - ->通过将该值设置为false来禁用查询解析,或者将查询解析器设置为使用"simple"或"extended"或自定义查询字符串解析功能。简单查询解析器基于Node的本机查询解析器querystring。扩展查询解析器基于qs。自定义查询字符串解析函数将接收完整的查询字符串,并且必须返回一个包含查询键及其值的对象。

strict routing ->布尔- - ->启用严格路由。当启用时,路由器将"/foo"one_answers"/foo/"视为不同的。否则,路由器会将"/foo"one_answers"/foo/"视为相同的。注意:子应用程序将继承此设置的值。

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

trust proxy ->变化- - ->表示该应用程序位于前端代理的后面,并使用X-Forwarded-*报头来确定连接和客户端的IP地址。注意:X-Forwarded-*报头很容易被欺骗,并且检测到的IP地址是不可靠的。

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

使用proxy-addr包实现trust proxy设置。有关更多信息,请参阅其文档。注意:子应用程序将继承这个设置的值,即使它有一个默认值。

视图->字符串或数组->用于应用程序视图的目录或目录数组。如果是一个数组,视图将按照它们在数组中出现的顺序查找。
Process.cwd () + '/views'

view cache ->布尔- - ->启用视图模板编译缓存。

查看引擎->字符串->省略时要使用的默认引擎扩展。注意:子应用程序将继承此设置的值。

x-powered-by - - ->布尔- - ->启用"X-Powered-By: Express"HTTP头。

使用以下

app.set('views', path.join(__dirname, 'views'));

这将设置你的应用程序视图文件夹如下:

/Users/jilles/Project/myApp/views

最新更新