dvui更换设置

This commit is contained in:
aixianling
2022-03-25 14:36:46 +08:00
parent 760db2bb82
commit 87231fdb1f
4 changed files with 41 additions and 5 deletions

View File

@@ -114,6 +114,9 @@ const generateMain = project => {
})
})
return Promise.all([getCores, getApps]).then(() => new Promise(resolve => {
if (project == 'dvui') {
return resolve()
}
chalkTag.info(project + '正在生成打包文件...')
let bin = path.join(__dirname, project.toString(), 'index.js'),
coreApps = cores.map(e => `{name:'${e.name}',component:require('../../${e.component}').default}`),
@@ -124,7 +127,7 @@ const generateMain = project => {
const install = function (Vue) {
if (install.installed) return Promise.resolve()
else{
let contexts = require.context('.', true, /(\\/.+)[\\\/]${project=='dvui'?'Ai':'App'}[^\\\/]+\\.vue$/)
let contexts = require.context('.', true, /(\\/.+)[\\\/]App[^\\\/]+\\.vue$/)
if (contexts) {
contexts.keys().map(e => {
if (contexts(e).default) {
@@ -158,7 +161,7 @@ const generateMain = project => {
})
})).then(() => {
fsExtra.readJson(path.join(__dirname, project.toString(), 'package.json'), (err, json) => {
let cmd = `vue-cli-service build --target lib --dest project/${project}/dist project/${project}/index.js --name ${json.name}`
let cmd = `vue-cli-service build --target lib --dest project/${project}/dist project/${project}/${project == 'dvui' ? 'entries' : 'index'}.js --name ${json.name}`
chalkTag.info(project + '正在压缩文件中...')
exec(cmd, {
cwd: path.join(__dirname, '..')

View File

@@ -114,6 +114,9 @@ const start = () => {
}
})
})).then(prj => new Promise(resolve => {
if (prj == 'dvui') {
return resolve(prj)
}
chalkTag.info('正在生成打包文件...')
let bin = path.join(__dirname, prj.toString(), 'index.js'),
coreApps = cores.map(e => `{name:'${e.name}',component:require('../../${e.component}').default}`),
@@ -124,7 +127,7 @@ const start = () => {
const install = function (Vue) {
if (install.installed) return Promise.resolve()
else{
let contexts = require.context('.', true, /(\\/.+)\\/${prj == 'dvui' ? 'Ai' : 'App'}[^\\/]+\\.vue$/)
let contexts = require.context('.', true, /(\\/.+)\\/App[^\\/]+\\.vue$/)
if (contexts) {
contexts.keys().map(e => {
if (contexts(e).default) {
@@ -160,7 +163,7 @@ const start = () => {
})
})).then(project => new Promise((resolve, reject) => {
fsExtra.readJson(path.join(__dirname, project.toString(), 'package.json'), (err, json) => {
let cmd = `vue-cli-service build --target lib --dest project/${project}/dist project/${project}/index.js --name ${json.name}`
let cmd = `vue-cli-service build --target lib --dest project/${project}/dist project/${project}/${project == 'dvui' ? 'entries' : 'index'}.js --name ${json.name}`
chalkTag.info('正在压缩文件中...')
exec(cmd, {
cwd: path.join(__dirname, '..')

30
project/dvui/entries.js Normal file
View File

@@ -0,0 +1,30 @@
const apps = []
const install = function (Vue) {
if (install.installed) return Promise.resolve()
else {
let contexts = require.context('.', true, /(\/.+)\/Ai[^\/]+\.vue$/)
if (contexts) {
contexts.keys().map(e => {
if (contexts(e).default) {
let mod = apps.find(a => a.name == contexts(e).default.name)
if (mod) {
mod.component = contexts(e).default
} else {
apps.push({name: contexts(e).default.name, component: contexts(e).default})
}
}
})
}
apps.map(e => {
Vue.component(e.name, e.component)
})
}
}
// 判断是否是直接引入文件
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue)
}
export default {
// 导出的对象必须具有 install才能被 Vue.use() 方法安装
install
}

View File

@@ -3,7 +3,7 @@
"author": "kubbo",
"version": "2.0.1",
"description": "数据大屏UI库",
"main": "dist/index.js",
"main": "dist/dvcp-dv-ui.common.js",
"publishConfig": {
"registry": "http://192.168.1.87:4873/"
},