gxd-vue-library
Version:
依赖与element Ui插件库,聚福宝福利PC端插件库
73 lines (54 loc) • 1.62 kB
JavaScript
;
const fileHelper = require('./../fileHepler');
const basePath = require('./../path');
const storeDirectory = basePath.storeDirectory;
const mixinsDirectory = basePath.mixinsDirectory;
const gitIgnore = require('./../lib/gitignore');
let template = require('art-template');
const utils = require('./../lib/utils');
let {
beautifyFile,
dateToTime
} = utils;
let apisPromise = [];
const init= (apis)=>{
return new Promise((resolve,reject)=>{
let fileNames = [];
apis.map(item =>{
let type = process.env.type;
let service = process.env.service;
let reg = /^.+(\.dome)$/;
//打包正式,去掉dome模块
if (type === 'build' && service === 'build' && reg.test(item.filePathName)) {
fileNames.push(item.fileName);
return
}
//打包非正式
//vuex
if(item.vuex) {
let tempPath = `${storeDirectory}/modules/${item.fileName}`;
let html = template(basePath.buildTemplateDirectory + '/coder/store.txt', {
items: item,
time: dateToTime(Math.floor(new Date().getTime() / 1000)),
model: `modules/${item.fileName}`,
});
apisPromise.push(fileHelper.writeFile(tempPath, beautifyFile(html)));
}
//mixins
else {
//todo
}
fileNames.push(item.fileName);
});
//设置git忽略文件
apisPromise.push(gitIgnore(fileNames, storeDirectory + '/modules'));
Promise.all(apisPromise)
.then(res=>{
resolve()
})
.catch(res=>{
reject(res)
})
})
};
module.exports = init;