-一个页面导入方法页面的代码
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文件
});
}
});
}
}