Skip to content

Commit b368dd4

Browse files
YunaiVgitee-org
authored andcommitted
!128 去除 BPMNJS、FormCreate、Highlight 的全局引入,降低打包后的大小(6.6M -> 1.3M)
Merge pull request !128 from 芋道源码/dev
2 parents 1305743 + 9793734 commit b368dd4

File tree

14 files changed

+116
-90
lines changed

14 files changed

+116
-90
lines changed

.env.stage

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
# 生产环境
2+
NODE_ENV=production
3+
4+
VITE_DEV=false
5+
6+
# 请求路径
7+
VITE_BASE_URL='http://api-dashboard.yudao.iocoder.cn'
8+
9+
# 上传路径
10+
VITE_UPLOAD_URL='http://api-dashboard.yudao.iocoder.cn/admin-api/infra/file/upload'
11+
12+
# 接口前缀
13+
VITE_API_BASEPATH=
14+
15+
# 接口地址
16+
VITE_API_URL=/admin-api
17+
18+
# 是否删除debugger
19+
VITE_DROP_DEBUGGER=true
20+
21+
# 是否删除console.log
22+
VITE_DROP_CONSOLE=true
23+
24+
# 是否sourcemap
25+
VITE_SOURCEMAP=false
26+
27+
# 打包路径
28+
VITE_BASE_PATH='http://static-vue3.yudao.iocoder.cn/'
29+
30+
# 输出路径
31+
VITE_OUT_DIR=dist-stage

.env.test

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ VITE_DROP_CONSOLE=false
2525
VITE_SOURCEMAP=true
2626

2727
# 打包路径
28-
VITE_BASE_PATH=/dist-test/
28+
VITE_BASE_PATH=/
2929

3030
# 输出路径
3131
VITE_OUT_DIR=dist-test

package.json

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
"ts:check": "vue-tsc --noEmit",
1212
"build:pro": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode pro",
1313
"build:dev": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode dev",
14+
"build:stage": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode stage",
1415
"build:test": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode test",
1516
"build:static": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode static",
1617
"build:front": "node --max_old_space_size=8000 ./node_modules/vite/bin/vite.js build --mode front",
Lines changed: 6 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,37 +1,11 @@
1-
import { App } from 'vue'
21
import MyProcessDesigner from './designer'
32
import MyProcessPenal from './penal'
43
import MyProcessViewer from './designer/index2'
54

6-
const components = [MyProcessDesigner, MyProcessPenal, MyProcessViewer]
5+
import './theme/index.scss'
6+
import 'bpmn-js/dist/assets/diagram-js.css'
7+
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css'
8+
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css'
9+
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'
710

8-
// const install = function (Vue) {
9-
// components.forEach(component => {
10-
// Vue.component(component.name, component)
11-
// })
12-
// }
13-
14-
// if (typeof window !== "undefined" && window.Vue) {
15-
// install(window.Vue)
16-
// }
17-
// components.forEach(component => {
18-
// Vue.component(component.name, component)
19-
// })
20-
const componentss = {
21-
install: (Vue: App): void => {
22-
components.forEach((component) => {
23-
Vue.component(component.name, component)
24-
})
25-
}
26-
}
27-
// let version = "0.0.1"
28-
export const MyPD = (app) => {
29-
// export default {
30-
// app.use(version)
31-
// app.use(install)
32-
// app.use(MyProcessDesigner)
33-
// app.use(MyProcessPenal)
34-
// app.use(MyProcessViewer)
35-
// app.use(components)
36-
app.use(componentss)
37-
}
11+
export { MyProcessDesigner, MyProcessPenal, MyProcessViewer }

src/components/index.ts

Lines changed: 0 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,6 @@
11
import type { App } from 'vue'
22
import { Icon } from './Icon'
3-
import { Form } from '@/components/Form'
4-
import { Table } from '@/components/Table'
5-
import { Search } from '@/components/Search'
6-
import { XButton, XTextButton } from '@/components/XButton'
7-
import { DictTag } from '@/components/DictTag'
8-
import { ContentWrap } from '@/components/ContentWrap'
9-
import { Descriptions } from '@/components/Descriptions'
103

114
export const setupGlobCom = (app: App<Element>): void => {
125
app.component('Icon', Icon)
13-
app.component('Form', Form)
14-
app.component('Table', Table)
15-
app.component('Search', Search)
16-
app.component('XButton', XButton)
17-
app.component('XTextButton', XTextButton)
18-
app.component('DictTag', DictTag)
19-
app.component('ContentWrap', ContentWrap)
20-
app.component('Descriptions', Descriptions)
216
}

src/main.ts

Lines changed: 0 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -37,16 +37,6 @@ import App from './App.vue'
3737

3838
import './permission'
3939

40-
import { MyPD } from '@/components/bpmnProcessDesigner/package/index.js'
41-
import '@/components/bpmnProcessDesigner/package/theme/index.scss'
42-
import 'bpmn-js/dist/assets/diagram-js.css'
43-
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css'
44-
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css'
45-
import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css'
46-
47-
import hljs from 'highlight.js' //导入代码高亮文件
48-
import 'highlight.js/styles/github.css' //导入代码高亮样式 新版
49-
5040
import '@/plugins/tongji' // 百度统计
5141

5242
import Logger from '@/utils/Logger'
@@ -55,18 +45,8 @@ import Logger from '@/utils/Logger'
5545
const setupAll = async () => {
5646
const app = createApp(App)
5747

58-
//自定义一个代码高亮指令
59-
app.directive('highlight', function (el) {
60-
const blocks = el.querySelectorAll('code')
61-
blocks.forEach((block: any) => {
62-
hljs.highlightElement(block)
63-
})
64-
})
65-
6648
await setupI18n(app)
6749

68-
MyPD(app)
69-
7050
setupStore(app)
7151

7252
setupGlobCom(app)

src/plugins/formCreate/index.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,6 @@ import {
1717

1818
import formCreate from '@form-create/element-ui'
1919
import install from '@form-create/element-ui/auto-import'
20-
import FcDesigner from '@form-create/designer'
2120

2221
const components = [
2322
ElAside,
@@ -34,14 +33,11 @@ const components = [
3433
ElTabPane
3534
]
3635

36+
// 参考 http://www.form-create.com/v3/element-ui/auto-import.html 文档
3737
export const setupFormCreate = (app: App<Element>) => {
3838
components.forEach((component) => {
3939
app.component(component.name, component)
4040
})
41-
4241
formCreate.use(install)
43-
4442
app.use(formCreate)
45-
46-
app.use(FcDesigner)
4743
}

src/views/bpm/definition/index.vue

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -84,7 +84,7 @@
8484

8585
<!-- 弹窗:流程模型图的预览 -->
8686
<Dialog title="流程图" v-model="bpmnDetailVisible" width="800">
87-
<my-process-viewer
87+
<MyProcessViewer
8888
key="designer"
8989
v-model="bpmnXML"
9090
:value="bpmnXML"
@@ -97,6 +97,7 @@
9797
<script setup lang="ts" name="BpmProcessDefinition">
9898
import { DICT_TYPE } from '@/utils/dict'
9999
import { dateFormatter } from '@/utils/formatTime'
100+
import { MyProcessViewer } from '@/components/bpmnProcessDesigner/package'
100101
import * as DefinitionApi from '@/api/bpm/definition'
101102
import { setConfAndFields2 } from '@/utils/formCreate'
102103
const { push } = useRouter() // 路由

src/views/bpm/form/editor/index.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<template>
22
<ContentWrap>
33
<!-- 表单设计器 -->
4-
<fc-designer ref="designer" height="780px">
4+
<FcDesigner ref="designer" height="780px">
55
<template #handle>
66
<el-button round size="small" type="primary" @click="handleSave">
77
<Icon class="mr-5px" icon="ep:plus" />
88
保存
99
</el-button>
1010
</template>
11-
</fc-designer>
11+
</FcDesigner>
1212
</ContentWrap>
1313

1414
<!-- 表单保存的弹窗 -->
@@ -42,6 +42,7 @@
4242
import { DICT_TYPE, getIntDictOptions } from '@/utils/dict'
4343
import { CommonStatusEnum } from '@/utils/constants'
4444
import * as FormApi from '@/api/bpm/form'
45+
import FcDesigner from '@form-create/designer'
4546
import { encodeConf, encodeFields, setConfAndFields } from '@/utils/formCreate'
4647
4748
const { t } = useI18n() // 国际化

src/views/bpm/model/editor/index.vue

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
<template>
22
<ContentWrap>
33
<!-- 流程设计器,负责绘制流程等 -->
4-
<my-process-designer
4+
<MyProcessDesigner
55
key="designer"
66
v-if="xmlString !== undefined"
77
v-model="xmlString"
@@ -14,7 +14,7 @@
1414
@save="save"
1515
/>
1616
<!-- 流程属性器,负责编辑每个流程节点的属性 -->
17-
<my-properties-panel
17+
<MyProcessPenal
1818
key="penal"
1919
:bpmnModeler="modeler"
2020
:prefix="controlForm.prefix"
@@ -25,6 +25,7 @@
2525
</template>
2626

2727
<script setup lang="ts" name="BpmModelEditor">
28+
import { MyProcessDesigner, MyProcessPenal } from '@/components/bpmnProcessDesigner/package'
2829
// 自定义元素选中时的弹出菜单(修改 默认任务 为 用户任务)
2930
import CustomContentPadProvider from '@/components/bpmnProcessDesigner/package/designer/plugins/content-pad'
3031
// 自定义左侧菜单(修改 默认任务 为 用户任务)

0 commit comments

Comments
 (0)