节点FS.existsSync在存在的文件上返回false

时间:2018-07-02 21:34:08

标签: javascript node.js electron fs

我目前正在尝试在运行fs.appendFile()之前查找文件是否存在,以便可以确定是否需要在文档开头插入一些文本,或者是否需要插入一行休息。

我编写了一个函数,当我在电子外部(这是用于电子应用程序)调试它时,fs.existsSync会按预期返回true或false。但是,当我在应用程序中运行它时,无论它是否确实存在,它都只会返回false。

function foo(){
    const USER = process.env['USERPROFILE'].split(path.sep)[2];
    const fpath = `C:/Users/${USER}/OneDrive/dir/filename.txt`;
    let text = "text";
    const exists = fs.existsSync(fpath);
    console.log(exists); // false no matter what
    if(!exists){
        text = "foo";
    }else{
        text = "bar";
    }
    fs.appendFile(fpath, myob_import_text, (err) => { // Only ever adds "foo" to the document.
        if(err) throw err;
    });  
}

我认为这与在电子环境中运行而不是仅在节点环境中运行有关,但是我无法弄清楚如何解决此问题,因此将不胜感激。

0 个答案:

没有答案