如何通过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" });