UNPKG

generator-hcj

Version:

HTML/CSS/JavaScript前端开发工作流,适用于互联网金融事业部开发环境

69 lines (57 loc) 1.92 kB
'use strict' let util = require('./util.js'); class Includes{ constructor(isSingle){ this.name = 'includes'; this.isSingle = isSingle; this.task = { includes: { } }; this.init(); } init(){ } setProject(path){ let page = path.page; let project = path.project; let includeFProp = page ? project + '/' + page : project; let htmlExt = path.env == 'desktop' ? '.ftl' : '.html'; let includeFSrc = page ? (page + htmlExt) : ('**/*'+htmlExt); //如shanghaibank, activity都只放了目录 let srcPage = path.srcPage; let distPage = path.distPage; let needIncludes = true; //支持多级目录创建的文件包含其它html if(page){ let folderSeperatorIndex = page.lastIndexOf('/'); if(folderSeperatorIndex !== -1){ let folder = page.slice(0, folderSeperatorIndex); srcPage = srcPage + '/' + folder; distPage = distPage + '/' + folder; includeFSrc = page.slice(folderSeperatorIndex + 1) + htmlExt; } }else{ //如页面名为a/b时整个目录不进行匹配操作 util.projects.forEach(function(o, i) { if(o.indexOf(':'+project+':') !== -1 && o.indexOf('/') !== -1){ needIncludes = false; } }); } if(needIncludes){ this.task.includes[includeFProp] = { options: { includePath: srcPage }, files: [{ expand: true, cwd: srcPage, src: [includeFSrc], dest: distPage, ext: htmlExt }] }; } } } module.exports = Includes;