[英]Serving json from a file express js
新手要表达,我有一个文件夹,里面有一个 db.json 文件,它每 11 秒被一个新的 db.json 替换。 让 express.js 为其提供服务以便在 api 调用中显示新内容的最佳方法是什么? 这是我到目前为止:
const express = require('express');
const router = express.Router();
router.get('/api/items', (req, res) => {
let dbPath = require('./data/db.json');
res.send(JSON.stringify(dbPath));
});
db.json 看起来像这样
[{"recordType": "E90", "count": "55", "space": "4" },
{"recordType": "A48", "count": "40", "space": "5" }, ....]
问题:下次我进行 api 调用时看不到更新的值。
尝试这个:
const fs = require('fs');
router.get('/api/items', (req, res) => {
fs.readFile('./data/db.json', (err, json) => {
let obj = JSON.parse(json);
res.json(obj);
});
});
希望这可以帮助
Expressjs通过res.json()有一种更简洁,更直观的方法。
在您的情况下:
router.get('/api/items', (req, res) => {
let jsonObj = require('./data/db.json');
res.json(jsonObj);
});
第一次加载模块后将对其进行缓存。 这意味着(除其他事项外)每次对require('foo')的调用都将返回完全相同的对象,如果它可以解析为相同的文件。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.