【问题标题】:How to create a directory in node js using fs.mkdir?如何使用 fs.mkdir 在节点 js 中创建目录?
【发布时间】:2016-12-29 09:15:52
【问题描述】:

我正在尝试使用以下代码使用异步函数 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!");
});

任何有关此的帮助将不胜感激。

【问题讨论】:

    标签: javascript node.js directory filesystems mkdir


    【解决方案1】:

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

    有一个包mkdirp可以帮助你:

    所以,代码将是:

        var mkdirp = require('mkdirp');
    
        mkdirp('/tmp/test', function (err) {
            if (err) console.error(err)
            else console.log('Done!')
        });
    

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        【解决方案3】:

        尝试使用 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();
                });
            });
        };
        

        【讨论】:

          猜你喜欢
          • 2016-04-15
          • 1970-01-01
          • 2023-04-05
          • 1970-01-01
          • 2021-11-24
          • 2021-04-05
          • 1970-01-01
          • 2015-04-20
          • 2023-01-20
          相关资源
          最近更新 更多