node.js之代码生成文件夹和页面

 -一个页面导入方法页面的代码
const fnYinRu = require("./shengcheng2.js");
let programeData = {
    name:"heaven",
    fileDate:[ {
            name:"css",
            type:"dir"
        },
        {
            name:"js",
            type:"dir"
        },{
            name:"images",
            type:"dir"
        },{
            name:"index.html",
            type:"file"
    }]
}
fnYinRu.fn(programeData);//因为引入模块,把实参传入到下面的方法函数页面中

********************************以上代码是一个页面的*********************************************
********************************以下代码是兄弟页面的方法******************************************
这是方法页面暴露出生成页面的函数
const fs  =require("fs"); //引入fs模块

const path= require("path");  //引入path模块

exports.fn = function(programeData){   //暴露出一个函数,并传入一个参数

    let {name,fileDate} = programeData;  //解构赋值
     //name是最外层的文件夹,fileDate是一个数组
    if(!fs.existsSync(name)){   //判断最外层的文件夹名称存不存在,取反如果不存在
    
        fs.mkdirSync(name); //生成最外层的文件夹
        
        fileDate.forEach(function(item){  //遍历数组
        
            // let dirname = name+"/"+item.name; //记录当前相对路径
            let dirname = path.join(__dirname,name,item.name);  //绝对路径
            
            if(item.type==="dir"){ //如果数组中的某一项type===“dir”就生成文件夹
            
                fs.mkdirSync(dirname) //生成文件夹
            }else{
                fs.writeFile(dirname,'',()=>{ //生成index.html文件
                });
            }
        });

    }

}
发布了17 篇原创文章 · 获赞 2 · 访问量 305

猜你喜欢

转载自blog.csdn.net/qq_42628504/article/details/104810313