micro-zoe / micro-app

A simple, efficient and powerful micro front-end framework. 一款简约、高效、功能强大的微前端框架
https://micro-zoe.github.io/micro-app/
MIT License
5.55k stars 564 forks source link

microapp引入requirejs报错 #1192

Open VVzhouxiaobai opened 5 months ago

VVzhouxiaobai commented 5 months ago

问题描述

vite子应用在index.html里面引入requirejs,单独运行子应用没有问题,把子应用引入到主应用就报define is not define

复现步骤

1.在子引用中,引入microapp

Vite App

2.在main.js中通过define引入远程组件的vue和elementPlus define("vue", [], function () { return Vue; }); define("element-plus", [], function () { return ElementPlus; }); const NODE_ENV = import.meta.env.MODE; window.process = { env: { NODE_ENV } }; 然后单独运行子应用没有问题,但是引入到主应用后就会报define is not define

bailicangdu commented 5 months ago

在微前端中通过var定义的顶层变量无法泄漏为全局变量

image
bailicangdu commented 5 months ago

这里给出一种临时的解决方案:1、将js下载到本地引入 2、将var改为window定义

image