【发布时间】:2018-09-17 20:27:28
【问题描述】:
假设我有一个庞大的 JSON 文件,大致结构如下:
{
"apples": { complex object },
"oranges": { complex object },
"grapes": { complex object }
}
在使用 express 时,是否有某种方法可以专门针对要返回的对象?例如,如果有人向我的服务器发出简单的 get 请求,它将专门返回给定的对象。我知道在这种情况下语法和概念是完全错误的,但由于缺乏更好的表达方式,比如......
let testData = 'testdata.json';
app.get('/thing', res => {
res.json(testData.oranges);
}
我知道您可以返回整个文件,但是在这种情况下会增加大量的加载时间,并且在这种特殊情况下是不切实际的。
或者,或者,让节点解析 JSON 文件并将其拆分为 apples.json、oranges.json 等文件来使用会更好吗?试图理解 A,做这样的事情的最佳实践,以及 B,将其转化为中型项目的实际应用程序的最有效方法。
任何与此相关的想法或建议——即使是图书馆推荐——将不胜感激。
【问题讨论】:
-
假设节点进程没有为每个请求启动/停止,那么需要一个 JSON 文件 (
const testData = require('./testdata.json');) 将在初始进程启动时自动加载和解析它(这会将它保存在内存中进程的生命周期),这意味着您可以按原样使用您的示例来返回部分文件。