首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >writeFile找不到目录

writeFile找不到目录
EN

Stack Overflow用户
提问于 2022-11-07 08:46:32
回答 2查看 36关注 0票数 0

我正在练习一个简单的应用程序,它可以读写一个文件。我正在使用来自writeFile“fs/承诺”

当我用正确的字符串导入文件时,就会得到所需的文件。

代码语言:javascript
复制
const content: Employe_T_nodel[] = require('../databace/employees.json')

但是当我试图写入文件时,我会得到一个错误:没有这样的文件或目录,打开'D:.

这是我使用的代码。请注意,我使用的字符串完全相同。

代码语言:javascript
复制
async function saveAllEmployeesAsync(employeesArr: Employe_T_nodel[]) {
    const content: string = JSON.stringify(employeesArr)
    await writeFile('../databace/employees.json', content)
    return console.log("Employees saved sucsessfuly")
}

我不明白为什么一个函数得到路径字符串,而另一个函数没有

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2022-11-07 08:58:00

这是因为require()将路径视为相对于当前文件的路径,而fs.writeFile则将路径视为相对于启动Node.js进程的路径。

如果您想要相同的行为,可以使用path.resolve()

代码语言:javascript
复制
async function saveAllEmployeesAsync(employeesArr: Employe_T_nodel[]) {
    const content: string = JSON.stringify(employeesArr)
    await writeFile(path.resolve(__dirname, '../databace/employees.json'), content)
    return console.log("Employees saved sucsessfuly")
}
票数 3
EN

Stack Overflow用户

发布于 2022-11-07 09:47:19

代码语言:javascript
复制
fs.writeFile(dir, data, err => {
  if (err) {
    console.log("File not saved!   ", err);
    return err;
  } else {
    console.log("File saved!");
    return 200;
  }
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74343919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档