wujie
wujie copied to clipboard
内存占用太夸张了,一晚上翻了一倍
描述bug 一个集成了几十个子应用的系统,打开了8个子应用,然后关闭了3个。不做任何操作,当时看只有400+M,放几个钟1.5G,过了一晚,第二天占用率高达3.5G。。。很多用户反映系统越用越卡。
如何复现 在main.ts时通过遍历子应用地址数组,调用setupApp
主要代码感觉是这个main.ts
import WujieVue from 'wujie-vue3'
import '@next/core/dist/style.css'
import App from './App.vue'
import router from './router'
import hostMap from './hostMap'
import { MICRO_APP_DATA } from './microApp.json'
const app = createApp(App)
const pinia = createPinia()
const { setupApp } = WujieVue
export const props = {
jump: (name: string) => {
console.log('jump', name)
router.push({ name })
},
}
// setupApp({ name: "唯一id", url: "子应用地址", exec: true, el: "容器", sync: true })
// 特殊处理的模块
const PRINT_LIST = [
'xxx',
'yyy',
]
const setupAllApp = () => {
for (const k in MICRO_APP_DATA) {
let baseObj = {}
if (PRINT_LIST.includes(k)) {
baseObj = {
jsAfterLoaders: [
// 如果插入一个外联脚本
{ src: 'xxxxx.js' },
// 如果插入一个内联脚本
// 执行一个回调,打印子应用名字
{
callback(appWindow: any) {
console.log('js-after-loader-callback!!', appWindow.__WUJIE.id)
},
},
],
}
}
setupApp({
name: k,
url: hostMap(MICRO_APP_DATA[k as keyof typeof MICRO_APP_DATA].url),
exec: true,
alive: true,
props,
plugins: [baseObj],
})
}
}
setupAllApp()
// @ts-ignore
app.use(router).use(pinia).use(WujieVue).mount('#app')
错误截图 如果有可以将截图带上
打开2小时
打开10小时
控制台报错
最小复现仓库或者地址 重要!!!,请尽量给出复现仓库,这样能极大加快bug解决速度
难道我还要把整个业务项目发上来???
不做任何操作,内存也会增长吗?
如果不用无界,直接用 iframe 打开同样的应用,放相同的时间,内存占用也会上涨吗?
正常挂着怎么会报错呢
确实 内存爆炸
业务代码没问题吗?
子系统是保活模式吗