feat:添加微应用配置

This commit is contained in:
weifashi 2023-07-10 18:41:15 +08:00
parent 3096a6be79
commit ccea4b5b1b
5 changed files with 54 additions and 1 deletions

View File

@ -87,5 +87,8 @@
"url": "https://www.dootask.com/desktop/publish"
}
}
]
],
"dependencies": {
"@micro-zoe/micro-app": "^0.8.11"
}
}

View File

@ -1,6 +1,9 @@
const isElectron = !!(window && window.process && window.process.type);
const isEEUiApp = window && window.navigator && /eeui/i.test(window.navigator.userAgent);
import microappInit from "./microapp"
microappInit()
import {switchLanguage as $L} from "./language";
import './functions/common'

35
resources/assets/js/microapp.js vendored Normal file
View File

@ -0,0 +1,35 @@
import microApp from '@micro-zoe/micro-app'
export default function() {
let urls = "";
let route = "/microapp/";
let modules = {};
let obj = {
loader(code,url) {
if (process.env.NODE_ENV === 'development') {
const match = /^https?:\/\/([^:/]+)(?::(\d+))?/.exec(url);
if( match && match[0] && url.indexOf('@vite/client') !== -1 ){
urls = url.replace("@vite/client","");
route = urls.replace(match[0].replace("@vite/client",""),"");
}
// 这里 /basename/ 需要和子应用vite.config.js中base的配置保持一致
code = code.replace( eval(`/(from|import)(\\s*['"])(${route.replace(/\//g,"\\/")})/g`) , all => {
return all.replace(route, urls)
})
}
return code
}
}
// 微应用名称
modules["micro-app"] = [obj]
// 微应用
microApp.start({
plugins: {
modules: modules
}
})
}

View File

@ -0,0 +1,7 @@
<template>
<div>
<div>
<micro-app name='micro-app' url='http://127.0.0.1:5567/' baseroute='/'></micro-app>
</div>
</div>
</template>

View File

@ -168,4 +168,9 @@ export default [
path: '*',
component: () => import('./pages/404.vue')
},
{
path: '/microapp/*',
name: 'microapp',
component: () => import('./pages/microapp.vue')
},
]