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文件
                });
            }
        });

    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值