Javascript 如何使用fs.mkdir在node js中创建目录?
在这里,我试图使用下面的代码使用异步函数fs.mkdir创建一个目录,但是我得到了一个错误Javascript 如何使用fs.mkdir在node js中创建目录?,javascript,node.js,directory,filesystems,mkdir,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 consol
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!");
});
非常感谢您提供的任何帮助。尝试在与脚本相同的路径中创建目录tmp,它应该可以工作,否则您必须编写完整路径。如果tmp目录不存在,则必须先创建该目录。尝试在与脚本相同的路径中创建目录tmp,否则必须编写完整路径。如果tmp目录不存在,则必须先执行此操作。例如,如果目录/tmp不存在,则可能会发生此错误。 如果是这种情况,则需要在创建/tmp之前和创建/tmp/test之后 有一个软件包可以帮助您: 因此,代码将是:
var mkdirp = require('mkdirp');
mkdirp('/tmp/test', function (err) {
if (err) console.error(err)
else console.log('Done!')
});
例如,如果目录/tmp不存在,可能会发生此错误。 如果是这种情况,则需要在创建/tmp之前和创建/tmp/test之后 有一个软件包可以帮助您: 因此,代码将是:
var mkdirp = require('mkdirp');
mkdirp('/tmp/test', function (err) {
if (err) console.error(err)
else console.log('Done!')
});
尝试使用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();
});
});
};
尝试使用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();
});
});
};