apps.ts 1.0 KB

1234567891011121314151617181920212223242526272829303132333435
  1. /**
  2. *微应用apps
  3. * @name: 微应用名称 - 具有唯一性
  4. * @entry: 微应用入口.必选 - 通过该地址加载微应用,
  5. * @container: 微应用挂载节点 - 微应用加载完成后将挂载在该节点上
  6. * @activeRule: 微应用触发的路由规则 - 触发路由规则后将加载该微应用
  7. */
  8. //子应用列表
  9. const _apps: object[] = [];
  10. for (const key in import.meta.env) {
  11. if (key === 'VITE_APP_SUB_APP') {
  12. const appList = JSON.parse(import.meta.env[key].replace(/'/g, '"'));
  13. appList.forEach((app) => {
  14. let utlStr;
  15. if (import.meta.env.PROD) {
  16. // 多端口请求
  17. if (VUE_APP_URL.baseUrl.split(':').length > 1) {
  18. utlStr = VUE_APP_URL.baseUrl.split(':')[1] + app[1];
  19. } else {
  20. utlStr = app[1];
  21. }
  22. } else {
  23. utlStr = app[1];
  24. }
  25. const obj = {
  26. name: app[0],
  27. entry: utlStr,
  28. container: `#${app[0]}`,
  29. activeRule: app[0],
  30. };
  31. _apps.push(obj);
  32. });
  33. }
  34. }
  35. export const apps = _apps;