我想在 npm 中创建一个文件,但如果文件已经存在则不想附加该文件

I want to create a file in npm but do not want append the file if it already exists

这是我正在使用的代码:

var fs = require('fs');

function write_StyleSheet(path)
{   
var wStream = fs.createWriteStream(path, {flags: 'w'});
var mstrstyleStrt0="<!DOCTYPE html>\n <html>\n<head>\n<meta charset=\"utf-8\">\n<title>Test Summary</title>\n"; 
wStream.write(mstrstyleStrt0);
}

文件存在则覆盖。 有人可以帮我解决这个问题吗?

改变这个:

var wStream = fs.createWriteStream(path, {flags: 'w'});

对此:

var wStream = fs.createWriteStream(path, {flags: 'wx'});

如果文件存在你不想写任何东西。如果文件存在,"x" 子说明符强制函数失败,而不是覆盖它。

准备处理流的 error 个事件:

wStream.on('error', err => console.log('Error:', err.message));

因为现在你会得到如下错误:

Error: EEXIST: file already exists, open 'aaa.txt'

另一方面,如果您想要附加到文件(如果它存在),则更改为:

var wStream = fs.createWriteStream(path, {flags: 'w'});

对此:

var wStream = fs.createWriteStream(path, {flags: 'a'});

查看 open(2) 联机帮助页了解所有标志说明: