在macOS上写入Node.js中的〜/ Documents文件夹?

时间:2017-05-08 23:22:14

标签: javascript node.js macos path home-directory

在Node.js中,我试图写入用户的Documents文件夹(在macOS上):

var logger = fs.createWriteStream('~/Documents/somefolderwhichexists/'+title+'.txt');

这给了我一个错误,但我不确定是什么问题。错误说:

  

未捕获异常:错误:ENOENT:没有此类文件或目录

我怎么能在这里使用绝对路径?或者我的错误是什么?

1 个答案:

答案 0 :(得分:8)

~是您的主目录的简写,由Bash shell扩展。您需要使用完全定义的路径动态获取当前用户名(或主路径)。

要获取当前用户的主路径,请执行以下操作:

var home = require("os").homedir();
var logpath = home + '/Documents/somefolderwhichexists/' + title + '.txt';
var logger = fs.createWriteStream(logpath);