This commit is contained in:
yanran200730
2022-03-25 16:16:20 +08:00
8 changed files with 43 additions and 31 deletions

View File

@@ -1,22 +0,0 @@
//引入当前工程所有的应用
const install = function(Vue) {
if (install.installed) return Promise.resolve();
else {
let contexts = require.context('../packages', true, /(\/.+)\/App[^\/]+\.vue$/);
if (contexts) {
contexts.keys().map((e) => {
if (contexts(e).default) {
Vue.component(contexts(e).default.name, contexts(e).default);
}
});
}
}
};
// 判断是否是直接引入文件
if (typeof window !== 'undefined' && window.Vue) {
install(window.Vue);
}
export default {
// 导出的对象必须具有 install才能被 Vue.use() 方法安装
install
};

View File

@@ -11,7 +11,6 @@ import store from './store';
import dataV from '@jiaminghi/data-view';
Vue.use(dataV);
Vue.use(ui);
Vue.use(vcUI);
//富文本编辑器配置

View File

@@ -21,7 +21,6 @@
"bin-code-editor": "^0.9.0",
"dayjs": "^1.8.35",
"dvcp-dv": "^1.0.0",
"dvcp-dv-ui": "file:project/dvui",
"dvcp-ui": "^1.42.2",
"echarts": "^5.1.2",
"mp4box": "^0.4.1",

View File

@@ -22,14 +22,14 @@
</template>
<script>
import dvui from "dvcp-dv-ui"
import List from './components/List.vue'
import Add from './components/Add'
import SourceData from './components/SourceData'
import dvui from '../../../project/dvui/entries'
import 'dvcp-ui/lib/styles/common.scss'
import Vue from "vue";
Vue.use(dvui)
export default {
name: 'AppDesigner',
label: '大屏设计',

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/"
},