2014-05-12 42 views

回答

24

我沒有一個節點安裝但看着sources似乎他們允許字符串以及:

mode  : '0644' 

它工作嗎?

+0

+1這看起來像一個有效的解決方案,給定源(假設它們是正確的源和版本等)。 –

46

你可以寫出來是這樣的:

mode  : parseInt('0644',8) 

在節點和現代瀏覽器(見compatibility),你可以使用八進制文字:

mode  : 0o644 
+0

我喜歡這個答案,因爲它使用一個整數類型,這使得它更好的東西像fs.chmod或fs.mkdir,它們調用模式上的整數。即使他們「支持」字符串,向他們傳遞他們期望的數據類型也是一個好主意。 – Michael

25

我通過這個問題來了,同時在景觀SQUENCE使用它:

console.log('\033c'); // Clear screen 

所有我需要做的就是將其轉換爲十六進制

console.log('\x1Bc'); // Clear screen 
+4

準確地說我的問題!這個解決方案很好,謝謝! – eisbehr

0

您可以通過使用模式爲避免這個問題字符串類型。

第1種方法

let mode = "0766"; 
fs.createWriteStream(fileName, { 
     flags : 'a', 
     encoding : 'utf8', 
     mode  : mode 
    }); 

第2種方法

fs.createWriteStream(fileName, { 
     flags : 'a', 
     encoding : 'utf8', 
     mode  : "0766" 
    }); 
相關問題