fs.mkdirSync returns 和 'undefined'

fs.mkdirSync returns with 'undefined'

我正在尝试创建一个目录并将该目录用作从 zip/rar 个文件中提取文件的变量。

导致错误的代码位在这里...

   var fileZip = fileName.replace(/^.*[\\/]/, ''); 
   // Removes full path to get 'file.zip'
   console.log(fileZip);
   var tempFolder = fs.mkdirSync('./app/cache/' + fileZip); 
   // tempFolder Variable for loaded comic
   console.log('CREATE: ' + tempFolder + ' created, line 26');

console.log returns 与 CREATE: undefined created, line 26。出了什么问题?该目录是在我想要的位置创建的,但它没有被保存为变量。

是否有可能是因为某些文件名有空格(即file name.zip)导致了问题?

mkdirSync 函数总是returns未定义。这是它的行为。之后需要使用另外一种机制来确定创建目录的路径。

如果您想要更轻松的时间,可以使用模块 mkdirp,它是相同的实用程序,但递归。

var mkdirp = require('mkdirp');

mkdirp('./your/path', function (err) {
    if (err) console.error(err)
    else console.log('Success!')
});

如果没有错误,您可以假设路径现在存在