如何使用fs.mkdir在节点js中创建目录?

时间:2016-08-22 18:04:40

标签: javascript node.js directory filesystems mkdir

这里我尝试使用以下代码使用异步函数fs.mkdir创建目录但是我收到错误

ERROR: No such file or directory, mkdir 'C:\tmp\test';

var fs = require("fs");
console.log("Going to create directory /tmp/test");
fs.mkdir('/tmp/test',function(err){
    if (err) {
        return console.error(err);
    }
console.log("Directory created successfully!");
});

对此有任何帮助将受到高度赞赏。

3 个答案:

答案 0 :(得分:4)

例如,如果目录" / tmp"可能会发生此错误。不存在。 如果是这种情况,您需要在创建" / tmp"之前在" / tmp / test"。

之后

有一个包mkdirp可以帮助您:

所以,代码将是:

(\s|\(|\.|,|^)bqr(\s|,|\)|$)

答案 1 :(得分:1)

尝试在与脚本相同的路径中创建目录tmp,它应该可以工作,否则你必须编写完整路径。如果tmp目录不存在,则必须首先进行。

答案 2 :(得分:0)

尝试使用fs.mkdirSync,并检查目录是否存在。

var checkIfDirectoryExists = function(dirPath, successCallback, errorCallback) {
    try {
        // Query the entry
        var stats = fs.lstatSync(dirPath);
        // Is it a directory?
        if (stats.isDirectory()) {
            successCallback();
        }
    } catch (e) {
        errorCallback();
    }
};

var mkdirIfNotExists = function(dirPath) {
    return new Promise(function(resolve, reject) {
        checkIfDirectoryExists(dirPath, function() {
            resolve();
        }, function() {
            fs.mkdirSync(dirPath);
            resolve();
        });
    });
};