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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在macOS上写入Node.js中的〜/ Documents文件夹?相关的知识,希望对你有一定的参考价值。

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

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

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

未捕获的异常:错误:ENOENT:没有这样的文件或目录

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

答案

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

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

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

以上是关于在macOS上写入Node.js中的〜/ Documents文件夹?的主要内容,如果未能解决你的问题,请参考以下文章

在 Node.js 中事务性地写入文件

如何在 macOS Catalina 上使用 Instruments 附加进程?

Node.js的Buffer写入

如何处理 json 并写入 node.js 中的文件

无法使用一个可读流写入 Node JS 中的两个不同目标

如何使用 homebrew 在 MACOS 中安装 node.js