2017-05-08 88 views
2

在Node.js的,我試圖寫入到用戶(在MacOS)的Documents文件夾:在macOS上寫入Node.js中的〜/ Documents文件夾?

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

這給了我一個錯誤,但我不知道什麼是錯的。錯誤說:

Uncaught Exception: Error: ENOENT: no such file or directory

我怎麼能在這裏使用絕對路徑?或者我的錯誤是什麼?

回答

4

~是一個簡寫,你的主目錄,由Bash shell擴展。您需要使用完全定義的路徑動態獲取當前用戶名(或主路徑)。

要獲取當前用戶主目錄,將ty這樣的:

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

完美!非常感謝。 –

+0

@GeorgeWelder我提供了一個更好的選擇,以平臺不可知的方式獲取用戶主目錄。請嘗試此以及當你有機會:) –

相關問題