NodeJS 使用Express返回JSON文件[已关闭]

qoefvg9y  于 2022-12-03  发布在  Node.js
关注(0)|答案(1)|浏览(279)

已关闭。此问题需要details or clarity。当前不接受答案。
**想要改进此问题吗?**通过editing this post添加详细信息并阐明问题。

昨天关门了。
Improve this question
我需要使用Node和Express返回一个JSON文件。我知道怎么做,但是有一个要求提到我需要“假设文件可以在服务运行时更改”。根据这个声明,你认为我应该考虑什么?
在发送它之前,我假设应该有一些检查(if语句等)。
这是一个开放式的问题。我想从有经验的开发人员那里得到一些指导。

ddarikpa

ddarikpa1#

如果您需要始终确保发送的是JSON文件的最新版本(并且在服务器运行时可能会发生更改),那么这就意味着您不能缓存它,也不能使用require()加载它,因为这样会缓存它,而且您不能在启动时加载它并将内容保留在内存中(而不手动检查磁盘副本是否已更改)。
只要你只是使用res.sendFile()从磁盘获取文件并发送它,你应该没问题,因为它会为你管理这个。如果文件扩展名是.json,它甚至会知道为你设置内容类型为application/json
res.sendFile()将使用lastModified标头在操作系统中的文件日期,以便进行浏览器缓存,因此,只要在文件更改时更新操作系统上次修改时间(这将是正常的默认行为),就可以正常工作。

相关问题