首页 > 解决方案 > 目录未创建

问题描述

我试图在我的应用程序中创建一个包含子文件夹的目录。仅当父文件夹已经存在时,新请求才会创建文件夹,但如果根文件夹不存在则不会创建。

import { mkdir } from 'fs';

  mkdir(join(__dirname, '../folder_to_create_directory/', req.body.path), (err) => {
        if (err) {
            return "error";
        }
        return "success"
    });

req.body.path 是一个路径字符串,例如:test/folder/subfolder。只有当我们手动创建“test”文件夹时,代码才会起作用(即使正在创建目录,它也不会返回“成功”消息)。如果 test 文件夹不存在,则该目录未创建。

预期输出:-

folder_to_create_directory/test/文件夹/子文件夹

标签: javascriptnode.jstypescript

解决方案


您可以使用fs库来处理文件系统。

对于嵌套目录:

var fs = require('fs');
var dir = join(__dirname, '../folder_to_create_directory/', req.body.path);

if (!fs.existsSync(dir)){
    fs.mkdirSync(dir, { recursive: true });
}

或者,对于单个目录:

var fs = require('fs');
var dir = join(__dirname, '../folder_to_create_directory/', req.body.path);

if (!fs.existsSync(dir)){
    fs.mkdirSync(dir);
}

推荐阅读