Nodejs再帰的にパスを作成する
3048 ワード
Nodejsは10年前に、原生は再帰的にファイルディレクトリを作成することをサポートしていませんでした.つまり、一つを作成すると、node/node/filesディレクトリが存在しない場合、直接にエラーが発生します.
記事の目次試験 Node 10.14.1バージョンおよび以上の Node低バージョン 1テスト
Nodejs 10原生は再帰的にディレクトリを作成することをサポートします.このパラメータを追加すればいいです.
3 Node低バージョン案
記事の目次
const fs = require('fs');
fs.mkdir('./study/node/files ', (err) => {
if (err) throw err;
console.log("mkdir success");
});
エラーを直接投げます.if (err) throw err; ^
Error: ENOENT: no such file or directory, mkdir 'C:\Users\ha.ha\Desktop\sample\test\study
ode\files '
2 Node 10.14.1バージョンおよび以上Nodejs 10原生は再帰的にディレクトリを作成することをサポートします.このパラメータを追加すればいいです.
fs.mkdir(path [,options],callback)
path | |
options
最初のパラメータはパスで、2番目のパラメータは再帰的に作成するかどうかとパーミッションパラメータです.2番目のパラメータのうち、recursiveはtrueに設定されています.すなわち再帰的に作成することをサポートしています.const fs = require('fs');
fs.mkdir('./study/node/files', {recursive: true}, (err) => {
if (err) throw err;
});
上記のコードは10.14.1で利用可能なNode mkdir APIドキュメントをテストします.https://nodejs.org/dist/latest-v10.x/docs/api/fs.html#fs_fs_mkdir_path_optionscalback3 Node低バージョン案
var fs = require("fs");
var path = require("path");
function mkdirs(dirname, callback) {
fs.exists(dirname, function (exists) {
if (exists) {
callback();
} else {
//console.log(path.dirname(dirname));
mkdirs(path.dirname(dirname), function () {
fs.mkdir(dirname, callback);
});
}
});
}
mkdirs('./hello/world/teset', function(err){
if (err) throw err;
});
//以上コード:RockeyCai