当前位置:   article > 正文

nodejs创建多层目录_mkdirsync

mkdirsync

1. fs.mkdir不能一次创建多层目录,必须先创建上层目录,再创建下层目录

创建方法如下:

  1. //同步
  2. fs.mkdirSync("./tmp/");
  3. fs.mkdirSync("./tmp/test/");
  4. //异步
  5. fs.mkdir("./tmp/",function(err){
  6. if (err){
  7. return console.error(err);
  8. }
  9. console.log("tmp目录创建成功。");
  10. fs.mkdir("./tmp/test/",function(err){
  11. if (err){
  12. return console.error(err);
  13. }
  14. console.log("test目录创建成功。");
  15. });
  16. });

2. path.dirname用法

  1. var path= require("path");
  2. path.dirname('/foo/bar/baz/asdf/quux')
  3. // returns
  4. '/foo/bar/baz/asdf'
  5. 多次调用path.dirname将会逐层返回上级目录
  6. path.dirname(path.dirname('/foo/bar/baz/asdf/quux'))
  7. // returns
  8. '/foo/bar/baz'
  9. path.dirname(path.dirname(path.dirname('/foo/bar/baz/asdf/quux')))
  10. // returns
  11. '/foo/bar'
  12. path.dirname(path.dirname(path.dirname(path.dirname('/foo/bar/baz/asdf/quux'))))
  13. // returns
  14. '/foo'

3. nodejs递归创建目录

  1. var fs = require("fs");
  2. var path = require("path");
  3. // 递归创建目录 异步方法
  4. function mkdirs(dirname, callback) {
  5. fs.exists(dirname, function (exists) {
  6. if (exists) {
  7. callback();
  8. } else {
  9. // console.log(path.dirname(dirname));
  10. mkdirs(path.dirname(dirname), function () {
  11. fs.mkdir(dirname, callback);
  12. console.log('在' + path.dirname(dirname) + '目录创建好' + dirname +'目录');
  13. });
  14. }
  15. });
  16. }
  17. // 递归创建目录 同步方法
  18. function mkdirsSync(dirname) {
  19. if (fs.existsSync(dirname)) {
  20. return true;
  21. } else {
  22. if (mkdirsSync(path.dirname(dirname))) {
  23. fs.mkdirSync(dirname);
  24. return true;
  25. }
  26. }
  27. }
  28. mkdirs('hello/a/b/c',() => {
  29. console.log('done');
  30. })
  31. // mkdirsSync('hello/a/b/c');

 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/283513
推荐阅读
相关标签
  

闽ICP备14008679号