什么app.set函数(express.js)?

时间:2014-08-10 13:36:45

标签: node.js express

我是node.js的新手,并且正在通过一个示例无法理解app.set(' title','我的网站');请帮忙吗?

3 个答案:

答案 0 :(得分:12)

您可以使用express实例来存储和检索变量。在这种情况下,您可以将标题设置为"我的网站"稍后用

之类的东西检索它
var title = app.get('title');

无需声明并保持全局变量乱七八糟。

参数的名称没有任何意义。你可以做到

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

也是。例如,如果您使用带有jade的express,则可能需要检索' jabberwocky'的值。在模板中,沿着这条线进一步。

答案 1 :(得分:2)

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

属性 - > 类型 - > 描述

区分大小写的路由 - > 布尔 - > 启用区分大小写。启用后," / Foo"和" / foo"是不同的路线。禁用时," / Foo"和" / foo"同等对待。

env - > 字符串 - > 环境模式。一定要设置为" production"在生产环境中;请参阅生产最佳实践:性能和可靠性 process.env.NODE_ENV(NODE_ENV环境变量)或“开发”,如果未设置NODE_ENV。

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

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

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

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

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

严格路由 - > 布尔 - > 启用严格路由。启用后,路由器会处理" / foo"和" / foo /"与众不同。否则,路由器会处理" / foo"和" / foo /"同样的。 注意:子应用程序将继承此设置的值。

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

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

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

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

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

查看缓存 - > 布尔 - > 启用视图模板编译缓存。

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

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

答案 2 :(得分:0)

使用以下

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

这会将您的应用程序查看文件夹设置为:

/Users/jilles/Project/myApp/views