node.js - 如何使用 nodejs 在用户主目录中创建目录?

标签 node.js

我正在 Ubuntu 上开发一个 node.js 应用程序,并尝试以编程方式在用户的主目录中为我的应用程序创建一个目录。

当我在 Node 中执行以下 Javascript 时:

const fs = require("fs");
fs.mkdirSync("~/mynewdir");

我收到以下错误:

Error: ENOENT: no such file or directory, mkdir '~/mynewdir'
    at Error (native)
    at Object.fs.mkdirSync (fs.js:923:18)
    at repl:1:4
    at sigintHandlersWrap (vm.js:22:35)
    at sigintHandlersWrap (vm.js:73:12)
    at ContextifyScript.Script.runInThisContext (vm.js:21:12)
    at REPLServer.defaultEval (repl.js:346:29)
    at bound (domain.js:280:14)
    at REPLServer.runBound [as eval] (domain.js:293:12)
    at REPLServer.<anonymous> (repl.js:545:10)

执行:

fs.mkdirSync("/home/dah/mynewdir");

虽然工作得很好,但我想使用执行脚本的人的主目录。

有人有什么建议吗?

编辑 - 这个问题不是重复的。在这种情况下,问题不是找到主目录(我已经有了),而是为什么 fs 模块不使用它。

最佳答案

你可以这样做:

const homedir = require('os').homedir();
// `homedir()` returns absolute path so we use `join` here
require("fs").mkdir(require('path').join(homedir, 'mynewdir'));

关于node.js - 如何使用 nodejs 在用户主目录中创建目录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44116983/

相关文章:

javascript - 如何使用 Node.js Express、Mongo 和 Markdown-it 渲染 Markdown?

node.js - 我可以使用 MongoDB 模式模型来定义 IndexedDB 索引吗?

javascript - 在 setInterval 中捕获异常

javascript - 如何在javascript中调整Base64图像的大小

javascript - sequelize users.findOne 使用两个参数

javascript - 使用 sinon 如何 stub 或伪造回调的属性

javascript - 如何从 nodejs 中从 Google 文档导出的 docx 中提取元作者和标题?

javascript - 将请求发送到 NodeJS 后端

node.js - Mongodb native 驱动程序 toArray() on limit(1)?

node.js - 如何在服务器上创建流端点?