UNPKG

gxd-vue-library

Version:

依赖与element Ui插件库,聚福宝福利PC端插件库

57 lines (48 loc) 2.17 kB
'use strict'; 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();