JSON 找不到文件

JSON file not found

我有一个名为 email_templates.json 的 json 文件,与我的 js 文件 bootstrap.js 放在同一文件夹中。当我尝试读取文件时出现错误。

no such file or directory, open './email_templates.json'

bootstrap.js

"use strict";
const fs = require('fs');

module.exports = async () => {
const { config } = JSON.parse(fs.readFileSync('./email_templates.json'));
  console.log(config);
};

email_templates.json

[
    {
        "name":"vla",
        "subject":"test template",
        "path": ""
    }
]

我正在使用 VS 代码,出于某种原因 VS 代码也不会自动完成路径,这让 me.Does 感到困惑 谁知道它为什么这样做? 节点 v:14*

一个可能的解决方案是获取完整路径(直接从 C:\,例如,如果您在 Windows)。


为此,您首先需要在代码中导入 path

const path = require("path");

接下来,我们需要加入JavaScript文件所在的目录和JSON文件名。为此,我们将使用以下代码。

const jsonPath = path.resolve(__dirname, "email_templates.json");

resolve() 函数基本上将两条路径混合在一起,形成一条完整、有效的路径。

最后可以用这个路径传入readFileSync().

fs.readFileSync(jsonPath);

如果问题是它不喜欢相对路径,这应该有助于找到路径。绝对路径可以帮助它找到文件。


总之,这个解决方案应该有助于找到路径。