UNPKG

wp-generate

Version:

54 lines (51 loc) 1.61 kB
var path = require('path'); var fs = require('fs'); var root = path.resolve(__dirname); var ncp = require('ncp').ncp; var color = require('colors'); /** * [travel 遍历输出目录文件] * @param {[String]} pathname [遍历的目录] */ var travel = function(pathname){ fs.readdir(pathname, function(err, files){ if (err) { console.log(err.red); return; } files.forEach(function(file){ var fullPath = pathname + '/' + file; fs.stat(fullPath, function (err, stats) { if (err) { console.log(err.red); return; } if(stats.isDirectory()){ travel(pathname + '/' + file); }else{ console.log(('.' + pathname.split(process.cwd())[1] + '/' + file).green); } }); }); }); }; /** * [run core项目文件拷贝操作] * @param {[String]} pname [bin命令执行目录] */ exports.run = function(pname) { var outputDir = process.cwd() + '/' + pname; var count = 0; console.log((pname+' 开始初始化......').red); console.log(('------------------------------------------------------------------------------------').green); ncp(root +'/core', outputDir, function (err) { if (err) return console.log(err.red); travel(outputDir); var timer = setTimeout(function(){ if(count++) return;//不知道为什么ncp会调2次,加个判断 console.log(('------------------------------------------------------------------------------------').green); console.log((pname+' 初始化完成!').red); clearTimeout(timer); }, 300); }); };