增加轻量启动模式,只加载相关项目的代码,来减少构建,启动,刷新,调试所需要的时间
This commit is contained in:
		| @@ -44,7 +44,7 @@ export default { | ||||
|       let reg = new RegExp(`.*${this.searchApp?.replace(/-/g,'')||''}.*`, 'gi') | ||||
|       return (this.apps || []).filter(e => !this.searchApp || reg?.test(e.name) || reg?.test(e.label)).map(e => { | ||||
|         if (/\/project\//.test(e.path)) { | ||||
|           e.project = e.path.replace(/.*project\/([^\/]+)\/.+/, '$1') | ||||
|           e.project = process.env.VUE_APP_SCOPE || e.path.replace(/.*project\/([^\/]+)\/.+/, '$1') | ||||
|         } else if (/\/core\//.test(e.path)) { | ||||
|           e.project = "core" | ||||
|         } | ||||
| @@ -200,7 +200,7 @@ export default { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   :deep( .ai-menu ){ | ||||
|   :deep( .ai-menu ) { | ||||
|     padding-left: 0; | ||||
|     flex: 1; | ||||
|     min-height: 0; | ||||
| @@ -214,7 +214,7 @@ export default { | ||||
|     } | ||||
|   } | ||||
|  | ||||
|   :deep( .searchApp ){ | ||||
|   :deep( .searchApp ) { | ||||
|     display: flex; | ||||
|     align-items: center; | ||||
|     height: 44px; | ||||
|   | ||||
| @@ -2,7 +2,6 @@ import store from "../store"; | ||||
| import {waiting} from "../utils"; | ||||
| import appEntry from "../views/appEntry"; | ||||
| import router from "./router"; | ||||
| // import mods from "../modules" | ||||
|  | ||||
| export default { | ||||
|   routes: () => store.state.apps, | ||||
| @@ -11,16 +10,26 @@ export default { | ||||
|     store.commit("cleanApps") | ||||
|     // 自动化本工程应用 | ||||
|     waiting.init({innerHTML: '应用加载中..'}) | ||||
|     this.esm = { | ||||
|       all: { | ||||
|         packages: require.context('../../packages/', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy'), | ||||
|         project: require.context('../../project/', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy') | ||||
|       }, | ||||
|       dv: { | ||||
|         packages: require.context('../../packages/bigscreen', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy') | ||||
|       } | ||||
|     }[process.env.VUE_APP_SCOPE || "all"] | ||||
|     const startTime = new Date().getTime() | ||||
|     let startTime = new Date().getTime() | ||||
|     switch (process.env.VUE_APP_SCOPE) { | ||||
|       case 'dv': | ||||
|         this.esm = { | ||||
|           packages: require.context('../../packages/bigscreen', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy') | ||||
|         } | ||||
|         break | ||||
|       case 'fengdu': | ||||
|         this.esm = { | ||||
|           project: require.context('../../project/fengdu', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy') | ||||
|         } | ||||
|         break | ||||
|       default: | ||||
|         this.esm = { | ||||
|           packages: require.context('../../packages/', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy'), | ||||
|           project: require.context('../../project/', true, /\.(\/.+)\/App[A-Z][^\/]+\.vue$/, 'lazy') | ||||
|         } | ||||
|     } | ||||
|     console.log('模块引用用了%s秒', (new Date().getTime() - startTime) / 1000) | ||||
|     startTime = new Date().getTime() | ||||
|     this.loadApps().finally(() => { | ||||
|       console.log('模块加载用了%s秒', (new Date().getTime() - startTime) / 1000) | ||||
|       waiting.close() | ||||
| @@ -53,6 +62,6 @@ export default { | ||||
|         return store.commit("addApp", addApp) | ||||
|       } else return 0 | ||||
|     }).catch(err => console.log(err)))) | ||||
|     return Promise.all(Object.entries(this.esm).map(([root, mods]) => promise(mods, root))) | ||||
|     return Promise.all(Object.entries(this.esm).map(([root, mods]) => promise(mods, root))).catch(console.error) | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user