【问题标题】:Application-scope Variables in Node.js?Node.js 中的应用程序范围变量?
【发布时间】:2018-04-27 20:32:41
【问题描述】:

Node.js 中是否存在比请求持续时间更长的变量范围,它可供所有应用程序用户使用?我想创建一个可供多个应用用户读取/写入的变量,如下所示:

var appScope.appHitCount += 1;

会话范围不起作用,因为它是特定于用户的。寻找特定的应用程序。我在 Node.js 文档中找不到任何内容。谢谢。

【问题讨论】:

  • express() app 对象提供了app.locals 属性来存储局部变量

标签: node.js variables scope


【解决方案1】:

如果您有一个应用程序模块范围内的变量,则该范围内的所有内容都可以使用并共享该变量。我想在一个大型应用程序中你需要小心这个,但这只是常规的 javascript 范围。例如,当您点击它时,它将继续附加到数组中:

const express = require('express')
const app = express()
var input = []

app.get('/:input/', (req, res) => {
    var params = req.params
    input.push(params.input)
    res.send("last input was: " + JSON.stringify(input))
})

app.listen(8080, () => console.log('Example app listening on port 8080!'))

现在访问“http://localhost:8080/hi”返回:

最后一个输入是:["hi"]

然后'http://localhost:8080/there'返回:

最后一个输入是:["hi", "there"]

...等等。

如果您想要整个应用程序(即所有模块)共享的东西,您可以设置一个所有模块都为require()d 的模块,并且 i=负责获取和设置该值。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多