gxd-vue-library
Version:
依赖与element Ui插件库,聚福宝福利PC端插件库
57 lines (48 loc) • 2.17 kB
JavaScript
;
const fileHelper = require('./../fileHepler');
const basePath = require('./../path');
const clog = require('./../clog');
const utils = require('./../lib/utils');
const { os } = require('./../lib/nodeSystem');
const template = require('./../lib/template');
const init = ()=>{
clog('开始升级自定义插件加载关系', 'cyanBG');
utils.logsLine(clog, 'start');
//共有form item
let formItemPath = basePath.srcDirectory + '/components/formItem';
let templatePath = basePath.buildDir + '/form/template';
let files = fileHelper.getDirFiles(formItemPath, ['vue'], [], false);
files = Object.keys(files).map(key => {
return {
fileName: files[key].fileName,
fileNameArr: utils.strToArray(files[key].fileName, 1),
value: utils.strToArray(files[key].fileName, 1).join('-'),
}
});
//私有表单form item
let privateFormItemPath = basePath.srcDirectory + '/components/formItemPrivate';
let privateFiles = {};
if(fileHelper.existFileSync(privateFormItemPath)) {
privateFiles = fileHelper.getDirFiles(privateFormItemPath, ['vue'], [], false);
}
privateFiles = Object.keys(privateFiles).map(key =>{
return {
fileName: privateFiles[key].fileName,
fileNameArr: utils.strToArray(privateFiles[key].fileName, 1),
value: utils.strToArray(privateFiles[key].fileName, 1).join('-'),
}
});
let html = utils.beautifyFile(template(`${templatePath}/html.txt`, { files, privateFiles,
unit: '{{item.unit}}',
tips: '{{item.tips}}'
}),'html_beautify');
let css = template(`${templatePath}/css.scss`,{});
let importStr = template(`${templatePath}/script.txt`, {files, privateFiles});
importStr = importStr.replace(/^\s*$[\n\r]{1,}/gm, '');
let vue = template(`${templatePath}/pages.txt`, {html, script: importStr, css, scoped: true, lang:'scss'});
fileHelper.writeFileSync(basePath.buildComponentsDirectory + '/XdBaseDynamicField.vue', vue);
clog(`升级自定义插件加载关系成功,路径:`, 'green');
clog(`${fileHelper.getPlatformSurePath(basePath.buildComponentsDirectory + '/XdBaseDynamicField.vue')}`, 'cyan');
utils.logsLine(clog)
};
init();