1

I'm trying to build folders with a string, but I keep erroring out, everything looks good, but I'm obviously missing something, any help would be great.

var setFile = 'dijit/analysis/images/'
folders = setFile.substr(0,setFile.lastIndexOf('/'));

fs.mkdir(folders, function(err){
  console.log('problem: ' + err);
});

Error: Error: ENOENT, mkdir 'dijit/analysis/images'

Thanks,

atlMapper
  • 764
  • 3
  • 9
  • 24
  • 1
    Do the `dijit` and `dijit/analysis` directories already exist? Are you perhaps looking for https://www.npmjs.org/package/mkdirp? – loganfsmyth Mar 28 '14 at 06:16

2 Answers2

1

fs.mkdir can able to built only a single folder. You are trying to create a folder inside a non existing folder. This problem can be solved by fs-extra module of npm. Following code should fulfill your need.

var setFile = 'dijit/analysis/images/',
    fsExtra = require('fs-extra'),
    folders = setFile.substr(0, setFile.lastIndexOf('/'));

fsExtra.mkdirp(folders, function(err) {
    console.log('problem: ' + err);
});
Kundu
  • 3,944
  • 3
  • 16
  • 21
0

Kundu's comment answers this problem, but if you want a different solution there is plenty over at How to create full path with node's fs.mkdirSync?

Almenon
  • 1,191
  • 11
  • 22