【问题标题】:Writing to ~/Documents folder in Node.js on macOS?在 macOS 上的 Node.js 中写入 ~/Documents 文件夹?
【发布时间】:2017-10-07 02:34:51
【问题描述】:

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

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

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

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

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

【问题讨论】:

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


    【解决方案1】:

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

    要获取当前用户的主路径,请输入:

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

    【讨论】:

    • @GeorgeWelder 我提供了一个更好的选择,以平台无关的方式获取用户主目录。有机会时也请尝试一下:)
    • 我不建议在不使用path.join()path.resolve() 的情况下连接路径,无论应用程序不是跨平台的。
    猜你喜欢
    • 1970-01-01
    • 2022-01-28
    • 1970-01-01
    • 1970-01-01
    • 2021-06-21
    • 1970-01-01
    • 2015-01-19
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多