首页 > 解决方案 > 无法使用 FS 写入文件

问题描述

因此,我有一个使用 express 的 NodeJS API,我想从 HTTP 请求中获取数据并将其存储在本地 JSON 文件中。这是包含写入本地文件的函数的文件:

    const fs = require('fs').promises;
    async function updateData(req,res){
       let { name, phone, email, addres, whatsapp, officeHours} = req.body;
       let configs={
        name:name,
        phone:phone,
        email:email,
        addres:addres,
        whatsapp:whatsapp,
        officeHours: officeHours
      };
       let data = JSON.stringify(configs);
       console.log(data);
       try{
        await fs.writeFile('./configs.json', data);
       }catch(err){
        throw err;
       }
    }
module.exports = {updateData};

这是我用来通过 Post 路由调用函数的部分代码

routes.post('/storedata', storeData.updateData);

当我使用 Insomnia 发送 HTTP 请求时,我没有收到任何错误,并且数据记录在控制台中,但没有写入文件。

标签: javascriptnode.jsexpresshttpfs

解决方案


尝试像这样的绝对路径writeFile( __dirname + '/configs.json', data)


推荐阅读