Demo

Plugin များ install ဖြစ်သော်လည်း frontend module မတင်သွင်းခြင်း

Module အတန်းတွင် installed ဖြစ်ကြောင်း ပြသော်လည်း၊ browser တွင် menu၊ route သို့မဟုတ် plugin frontend entry မပေါ်လာပါ။

လက္ခဏာ

Backend တင်သွင်းနိုင်သည်၊ သို့မဟုတ် Modules UI တွင် installed=true ပြနိုင်သော်လည်း၊ shell က plugin UI ကို မည်သည့်အခါမျှ မှတ်ပုံမတင်ပါ — side menu မရှိခြင်း၊ route ဗလာဖြစ်ခြင်း၊ သို့မဟုတ် Network tab တွင် frontend bundle ပျောက်ဆုံးခြင်းတို့ ဖြစ်နိုင်ပါသည်။

စစ်ဆေးရမည့် စာရင်း

  • base/backend/installed-plugins/<name>/ တွင် frontend/ နှင့် module.metadata.json ပါရှိကြောင်း အတည်ပြုပါ — backend/ သာမက ဖြစ်ရပါမည်
  • Folder အမည်၊ metadata.name နှင့် Modules ဇယားရှိ name တို့သည် တိကျစွာ တူညီရပါမည်
  • quan-erp watch <plugin> ဖြင့် ပြန်လည် build လုပ်ပြီး ထပ်မံ Install လုပ်ပါ (သို့မဟုတ် watch က installed မိတ္တူကို ပြန်လည် ပြင်ဆင်ပြီးသား ဖြစ်ကြောင်း အတည်ပြုပါ)
  • Browser ကို hard-refresh လုပ်ပြီး Network တွင် plugin frontend entry ကို စစ်ဆေးပါ (404 / ပိတ်ဆို့ထားခြင်း)
  • Browser console တွင် frontend/src/index.tsx မှ register() / import error များကို ကြည့်ပါ
  • Plugin က pluginDependencies ကြေညာထားပါက၊ ထို provider များကို အရင် install လုပ်ပြီး တင်သွင်းရပါမည်

Source နှင့် available၊ installed

Watch သည် available-plugins သို့သာ ထားရှိပါသည်။ Shell က installed-plugins ကို တင်သွင်းပါသည်။ Install မလုပ်ဘဲ (သို့မဟုတ် ရှိပြီးသား installed မိတ္တူကို မပြင်ဆင်ဘဲ) build လုပ်ပါက UI သည် အဟောင်း သို့မဟုတ် ဗလာ မိတ္တူပေါ်တွင် ကျန်ရှိနေပါသည်။

  • Source — plugins/<name>/frontend/
  • Available — base/available-plugins/<name>/<version>/frontend/
  • Installed — base/backend/installed-plugins/<name>/frontend/

Entry တွင် PluginModule ကို export လုပ်ရပါမည်

Shell သည် frontend/src/index.tsx သာ တင်သွင်းပါသည်။ PluginModule ကို default export လုပ်ပြီး၊ route နှင့် menu များကို register(AppRegistry) အတွင်းတွင် မှတ်ပုံတင်ပါ။

  • Default export မရှိခြင်း သို့မဟုတ် မှားယွင်းခြင်း → module သည် မည်သည့်အခါမျှ မှတ်ပုံမတင်ပါ
  • register() အတွင်း throw ဖြစ်ခြင်း → console ကို စစ်ဆေးပြီး ပြင်ဆင်ကာ ပြန်လည် build လုပ်ပါ
  • register() အပြင်တွင် ထည့်သွင်းသော route/menu များကို လစ်လျူရှုပါသည်