使用fs模块创建一个文件,比如为public/statement/out.txt,但是statement这个目录并没有,我直接使用:
fs.createWriteStream('public/statement/out.txt')
提示错误信息为没有这个的目录。我该怎么办呢?
写一个创建目录的函数,如
var createFolder = function(to) { //文件写入
var sep = path.sep
var folders = path.dirname(to).split(sep);
var p = '';
while (folders.length) {
p += folders.shift() + sep;
if (!fs.existsSync(p)) {
fs.mkdirSync(p);
}
}
};
在调用fs.createWriteStream前先调用createFolder,如
createFolder('/publis/statemenet/out.txt');
fs.createWriteStream('public/statement/out.txt')