node.js - 如何将POST保存到 Node 中的全局变量

标签 node.js

我通过POST发送json到nodejs,我在index.js中声明了router.post,(/routes) 我如何保存它以便以后可以实际使用?请记住,每 60 秒我都会收到新数据,这些数据应该取代旧数据。

我正在监听端口 3000

var express = require('express');
var router = express.Router();
var saveme

/* GET home page. */
router.get('/index', function(req, res, next) {
  res.render('index', { title: 'RLH' });
});
router.post('/index', function(req, res, next) {
  data = req.body;
  console.log('OK')


});
module.exports = router;

我不知道如何保存通过 POST 获得的内容,以便稍后我可以在我的网站上使用它。

最佳答案

有多种方式使用全局变量:

方法1

使用app.locals:

在主文件(例如:server.js)中声明app.locals.data = {};

  var app = express();
  app.locals.data = {};

app.locals 可用于 req 对象,如 req.app.locals。当您有新数据时,您可以将其更新为:

 req.app.locals.data = req.body;

方法2

使用全局对象

将新数据分配为global.data = req.body

您始终可以在相同或不同的模块中以 global.data 形式访问数据

方法3(推荐)

使用以下代码创建文件 globaldata.js

module.exports =  {};

在需要访问或更新全局数据的地方导入globaldata.js

var globaldata = require('./globaldata.js');
globaldata = req.body;

推荐什么?小型应用程序的全局方法,大型应用程序的 module.exports。

您可以阅读下面的引用文献。了解更多详情:

https://www.hacksparrow.com/nodejs/global-variables-in-node-js.html

http://expressjs.com/en/api.html#app.locals

关于node.js - 如何将POST保存到 Node 中的全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57961332/

相关文章:

node.js - 引用错误: sass is not defined

node.js - 是否可以通过 AWS API Gateway 和 lambda 函数将 PDF 文件上传到 S3 存储桶?

javascript - 循环大量 URL 请求是如何工作的?

apache - 对于在 Node.JS 上运行的 SaaS,是否需要 Web 服务器 (nginx) 或清漆作为反向代理?

node.js - 如何开始在 VSCode 中使用 TypeScript 和 Node JS 进行开发

javascript - 将 grunt-contrib-watch 与 grunt-express 组合使用时,浏览器 livereload 不起作用

mysql - 多个表上的 sequelize 查询中的竞争条件

node.js - 来自 Webstorm 的 Grunt 调试

c++ - 另一个 pthread 中的 V8 代码导致段错误

javascript - 如何将路由器放入路由器内部