在节点中创建包含子目录和文件的目录

时间:2017-06-25 14:58:04

标签: javascript node.js filesystems fs

我想运行一个脚本,它将在一个文件和子目录中创建一个目录,如下所示

main-folder 
    > sub-folder
    > file
到目前为止我还没有运气,我的想法是试图在mkDir函数中编写文件

const fileGenerator = (fileName, fileContent) => {
    fs.writeFile(fileName, fileContent, (err) => {
        if (err) throw err;
        console.log('The file has been saved!');
    });
}

fs.mkdir('main-folder', err => {
    if (err) {
        console.log(err);
    } else {
        fileGenerator('index.html', 'hello');
        console.log('Directory Created');
        fs.mkdir('sub-folder', err => {
        if (err) {
            console.log(err);
        } else {
            console.log('Directory Created');
        }
    })
    }
})

1 个答案:

答案 0 :(得分:1)

代码按照“有意义”工作。您创建子文件夹和文件的位置只是回调。 Node Filesystem中的mkdir函数仍然需要完整路径。它不知道它在"主文件夹"。

参见编辑过的代码:

const fs = require('fs');
const fileGenerator = (fileName, fileContent) => {
    fs.writeFile(fileName, fileContent, (err) => {
        if (err) throw err;
        console.log('The file has been saved!');
    });
}

fs.mkdir('main-folder', err => {
    if (err) {
        console.log(err);
    } else {
        fileGenerator('main-folder/index.html', 'hello');
        console.log('Directory Created');
        fs.mkdir('main-folder/sub-folder', err => {
        if (err) {
            console.log(err);
        } else {
            console.log('Directory Created');
        }
    })
    }
})

您的代码创建了主文件夹,子文件夹和index.html,只是相对于js文件。