我目前在 Electron 中有一个 angular 应用程序。 (它是由其他人构建的)我想在我的浏览器中运行它(可能将其转换为渐进式 Web 应用程序)。这可能吗?如果是这样怎么办?
最佳答案
我自己做类似事情的一些经验的简短总结。就我而言,这是可能的,但这可能并不总是正确的。希望这可以帮助。
查找并评估应用程序对 Electron api 的依赖 - 尝试在 Angular、ngxElectron 或其他 Angular Electron api package 器中搜索 require('electron') 或更可能,修复或更改应用程序,使其不再依赖于 Electron。
搜索 Electron API 关键字和用法并决定如何处理它们。应用程序可能使用 Electron 的示例 - Electron 菜单、剪贴板、BrowserView 或应用程序可能使用 IPC 的更多幕后。
该应用程序可能会引用 Node api,因为 Node 相对容易在 Electron 中混合到您的应用程序中,这将是一个需要修复的问题。搜索 Node api 引用。
某些应用程序在 Electron 之外具有 native 依赖项,您需要找到任何此类 API 并决定如何处理它们。
工作的规模(即使有可能)将取决于应用程序本身提供的功能和所需的 native 功能的范围、对 Electron 功能的依赖程度、对 Node.js 的依赖。
例如,在 Electron 中,开发人员可以比平时更多地控制浏览器,并且可以选择关闭正常的 Web 安全功能。当您将应用程序移至浏览器时,可能会出现跨站点脚本(CORS 等)或其他安全问题。查看创建 BrowserWindows 时传递的选项。如果应用程序具有异国情调的设置,则可能需要更改架构。
你需要决定移植后应用程序是否仍然需要在 Electron 中工作(这可能是可能的,但会使事情变得复杂)
如果应用程序仍应在 Electron 中运行,您需要决定如何处理此问题的策略(例如,检查 Electron 的 if 语句或其他策略)。
关于angularjs - 我可以将 Angular 应用程序从 Electron 移动到浏览器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54557709/