我如何使用nodejs在用户家中创build一个目录?

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

当我在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"); 

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

有没有人有什么build议?

编辑 – 这个问题不是重复的。 在这种情况下,问题是没有find主目录(我已经有这个),但为什么FS模块将不会使用它。

你可以这样做:

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