如何通过createWriteStream避免“在严格模式下不允许使用八进制文字”

我有以下代码

fs.createWriteStream( fileName, { flags : 'a', encoding : 'utf8', mode : 0644 }); 

我得到一个lint错误

 Octal literals are not allowed in strict mode. 

做这个代码的正确方法是什么,所以我不会得到一个lint错误?

我手边没有安装节点,但是看起来它们也允许string:

  mode : '0644' 

它工作吗?

你可以这样写:

  mode : parseInt('0644',8) 

在ES6中,你将能够做到

  mode : 0o644 

我用这个问题来解决这个问题:

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

我所要做的就是把它转换成hex

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

您可以通过将模式转换为stringtypes来避免此问题。

第一种方法

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

要么

第二种方法

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