mirror of
https://github.com/kuaifan/dootask.git
synced 2025-12-12 03:01:12 +00:00
47 lines
1.3 KiB
JavaScript
Vendored
47 lines
1.3 KiB
JavaScript
Vendored
import microApp from '@micro-zoe/micro-app'
|
|
|
|
const getUrl = (url) => {
|
|
return import.meta.env.VITE_OKR_WEB_URL || $A.apiUrl(url);
|
|
}
|
|
|
|
export default function() {
|
|
let urls = "";
|
|
let route = "/";
|
|
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(new RegExp(`(from|import)(\\s*['"])(${route.replace(/\//g,"\\/")})`,'g') , all => {
|
|
return all.replace(route, urls)
|
|
})
|
|
}
|
|
return code
|
|
}
|
|
}
|
|
|
|
// 微应用名称
|
|
modules["micro-app"] = [obj]
|
|
modules["okr-details"] = [obj]
|
|
|
|
// 微应用
|
|
microApp.start({
|
|
plugins: {
|
|
modules: modules
|
|
}
|
|
})
|
|
|
|
//预加载
|
|
microApp.preFetch([
|
|
{
|
|
name: 'micro-app',
|
|
url: getUrl("../apps/okr"),
|
|
disableSandbox: true
|
|
}
|
|
])
|
|
} |