Ara*_*dağ 9 javascript json node.js
我需要动态读取 JSON 文件。这就是为什么require()不砍它的原因。在 NodeJS 服务器重新启动之前,它不会简单地更新文件。这就是为什么我必须使用fs.readFileor fs.readFileSync。
当我使用时,const data = require("../data.json");它只是正确读取它。完全没有问题,但就像我说的,它不会动态更新。
当我使用const data = () => fs.readFileSync("../data.json", { encoding: "utf8" });它时,它只是返回Error: ENOENT: no such file or directory, open '../data.json'
我也尝试过fs.readFile。不起作用。
最奇怪的是,当我尝试使用 读取另一个 json 文件时fs.readFileSync,我看到了几天前更改的值。它读取的是旧版本。我不明白。那个旧版本已经不存在了。我手动检查过。
我试过npm install,npm cache clean --force。我想不出其他什么了。
aar*_*ins 11
您可能正在寻找require.resolve是否在 Node.js 中使用 CommonJS 模块。这将使用 的内部结构require来提供您要读入的文件的绝对路径字符串。
来源: https: //nodejs.org/api/modules.html#requireresolverequest-options
require获取相对于模块文件所在目录的路径。
readFileSync采用相对于当前工作目录的路径。
这些对你来说一定是不同的。
考虑path.resolve与您的相对路径一起使用__dirname
| 归档时间: |
|
| 查看次数: |
12271 次 |
| 最近记录: |