首页 > 解决方案 > node.js 我需要能够创建一个全新的 JSON 文件

问题描述

我正在尝试创建一个新的 JSON 文件。每当我尝试使用 writeFile 函数时,它只是说没有打开这样的目录。这是我尝试过的代码。

fs.writeFile('./UserData/' + msg.author + ".json", JSON.stringify({firstSplitContent: firstSplit,secondSplitContent: secondSplit,thirdSplitContent: thirdSplit,fourthSplitContent: fourthSplit,fifthSplitContent: fifthSplit},null,4), err => {
          if(err) throw err;
          console.log("File is created successfully.")
        });

错误:ENOENT:没有这样的文件或目录,打开 './UserData/<@301910353967710208>.json'



帮助将不胜感激。是的,我知道 Windows 不会使用那些特殊字符。我将其切换到 author.id 以删除。

标签: javascriptnode.jsjsondiscord.js

解决方案


fs.writeFile不会创建任何不存在的目录。

我怀疑您的路径中的目录UserData, 不存在,这就是您收到该错误的原因。

否则,您的路径可能是错误的。由于您使用的是相对路径,因此代码将在工作目录中UserData查找文件夹,即。代码当前正在执行的位置。

如果路径正确,请先尝试创建它:

if(!fs.existsSync('./UserData') {
  fs.mkdirSync('./UserData')
}

或者,您可以使用这样的包fs-extra,使您能够在路径中创建任何尚不存在的文件夹。

如果您想使用,这可能是与您最相关的功能fs-extrahttps ://github.com/jprichardson/node-fs-extra/blob/master/docs/outputJson.md


推荐阅读