是否可以在新 React 网站的 iframe 中嵌入旧的 JS 应用程序

Is it possible to embed an old JS application in an iframe in new React website

我有一个旧的 JS 应用程序,我想稍微修改一下并嵌入到我正在创建的 React 网站中,它是遗留软件,所以我无法重写它。我尝试集成它,但较旧的 JS 应用程序没有 node_modules 并使用 require.js 来要求本地依赖项,这似乎会导致问题,因为 requirejs.config() 似乎没有效果,所以 none 的依赖项可用。

我认为可能 运行 这个较旧的 JS 应用程序与网站的其余部分分开,我想也许我可以将它嵌入到 iframe 中,然后使用 window.postMessage() 或类似的方式与其通信,我知道这不像使用 src="oldJSApp.html" 创建 iframe 那么简单,所以希望得到一些关于如何实现这一点的帮助?

希望可以将它与我现有的构建系统 (webpack) 捆绑在一起,但知道这可能不可能。

你的部分功能依赖于遗留代码,应该被充分封装,它只是一个黑盒子,只关心输入并为你呈现输出。您可能会发现这个很有趣,我认为您应该从这里开始您的研究,https://v8.dev/features/modules 它讨论了加载您的脚本以及它如何在您的应用程序中交互(所有浏览器都支持)以及它在您的应用程序中的行为方式。

我最终坚持了我最初的想法,将旧的 JS 应用程序单独托管在不同的服务器上并使用 iframe 将其呈现,然后 window.postMessage() 在需要时进行通信。最终是一个比我预期的更好的解决方案。