javascript - 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 以删除。
解决方案
fs.writeFile
不会创建任何不存在的目录。
我怀疑您的路径中的目录UserData
, 不存在,这就是您收到该错误的原因。
否则,您的路径可能是错误的。由于您使用的是相对路径,因此代码将在工作目录中UserData
查找文件夹,即。代码当前正在执行的位置。
如果路径正确,请先尝试创建它:
if(!fs.existsSync('./UserData') {
fs.mkdirSync('./UserData')
}
或者,您可以使用这样的包fs-extra
,使您能够在路径中创建任何尚不存在的文件夹。
如果您想使用,这可能是与您最相关的功能fs-extra
:
https ://github.com/jprichardson/node-fs-extra/blob/master/docs/outputJson.md
推荐阅读
- asp.net - Net core 3.1 Google authentication GetExternalLoginInfoAsync 由于某些浏览器中的空cookie而返回null
- c++ - 这个函数中 std::bad_alloc 的原因是什么?
- r - 当闪亮的应用程序通过单击按钮运行时如何运行 R 脚本?
- android - 如何从 Firebase 实时数据库中读取数据?
- django - modelformset 重复我的字段并从我的数据库中获取值
- android-studio - Kotlin 文档:链接到具有不同签名的方法?
- python - 将日期时间格式的索引转换为仅限日期的python pandas
- c++ - '>':有符号/无符号不匹配。我该如何解决?
- javascript - 为什么这个生成器函数会中断?
- c++ - 返回对 3d 向量元素的引用