Meteor.js 的大型 SPA
Big SPA with Meteor.js
我正在使用 Meteor 和 React.js 开发 Web 应用程序。
我需要你的建议。
问题是:如何在 Meteor 上构建一个非常大的单页应用程序?
我面临性能、js 和 css 文件(我有很多组件)的重量等问题。
有没有办法分离组件并仅在必要时(当用户执行任何操作时)加载任何组件?
还有一个想法是创建一个单页应用程序,将多个子应用程序彼此分开。例如,用户单击子应用程序的图标,然后在主块 "content" 中打开子应用程序,这一切都发生在单页应用程序中。
这个想法是每个子应用程序都托管在单独的服务器上,并有一个单独的数据库、后端和前端。
是否可以使用 iframe 执行此操作或者这是一个坏主意?
重要的是所有这些子应用程序都可以通过父应用程序相互交互。
我等待您的建议和想法。非常感谢!
对于你的大问题的第一部分,我认为你可以查看动态导入。是的,您可以将一个大应用程序分成较小的组件或组件组,并且只加载 "on demand" 而它们不是初始包的一部分:https://blog.meteor.com/dynamic-imports-in-meteor-1-5-c6130419c3cd
在图中,startup = "general" bundle,async 用于动态加载。如果你有很多 CSS ...那么你有太多 CSS 并且你可能应该只有一个框架 CSS 像 Bootstrap 和一个主题 CSS 和 ... 如果您使用 React,您可以添加编程内联样式。
对于你问题的第二部分,如果你想要单独的数据库、服务器和应用程序……我真的看不出与第一个问题/环境的联系。您指的是那种有指向各种 features/apps 的链接(按钮)的仪表板吗?就像在 Salesforce 或任何其他 CRM 或 Firebase 等中一样?
管理多个应用程序可能是一场噩梦。让多个应用程序交互……这是一场噩梦,除非它们具有相同的数据库,以便您可以共享数据和状态。所以...如果您要在同一个 "portal" 中展示 yahoo 电子邮件和 gmail,我相信 iframe 将是您的最佳选择,因为这两个平台共享 0 资源和数据。
我问你,你在哪里/如何看到性能问题?您是否使用 Kadira 之类的工具进行监控?你有很多pub/subs吗?你使用 Redux 来存储你的本地数据吗?你在什么情况下使用分页?理论上,考虑到压缩和当今移动设备上的 LTE 速度,组件的数量和 CSS 是微不足道的。我还使用 Meteor/React 构建了一个带有提要和聊天等功能的全尺寸社交平台,我只有 3 个出版物,每个出版物有 25 个初始文档。您知道您的 pub * 文档数量方面的负载吗?
我正在使用 Meteor 和 React.js 开发 Web 应用程序。 我需要你的建议。
问题是:如何在 Meteor 上构建一个非常大的单页应用程序?
我面临性能、js 和 css 文件(我有很多组件)的重量等问题。 有没有办法分离组件并仅在必要时(当用户执行任何操作时)加载任何组件?
还有一个想法是创建一个单页应用程序,将多个子应用程序彼此分开。例如,用户单击子应用程序的图标,然后在主块 "content" 中打开子应用程序,这一切都发生在单页应用程序中。 这个想法是每个子应用程序都托管在单独的服务器上,并有一个单独的数据库、后端和前端。 是否可以使用 iframe 执行此操作或者这是一个坏主意? 重要的是所有这些子应用程序都可以通过父应用程序相互交互。
我等待您的建议和想法。非常感谢!
对于你的大问题的第一部分,我认为你可以查看动态导入。是的,您可以将一个大应用程序分成较小的组件或组件组,并且只加载 "on demand" 而它们不是初始包的一部分:https://blog.meteor.com/dynamic-imports-in-meteor-1-5-c6130419c3cd
在图中,startup = "general" bundle,async 用于动态加载。如果你有很多 CSS ...那么你有太多 CSS 并且你可能应该只有一个框架 CSS 像 Bootstrap 和一个主题 CSS 和 ... 如果您使用 React,您可以添加编程内联样式。
对于你问题的第二部分,如果你想要单独的数据库、服务器和应用程序……我真的看不出与第一个问题/环境的联系。您指的是那种有指向各种 features/apps 的链接(按钮)的仪表板吗?就像在 Salesforce 或任何其他 CRM 或 Firebase 等中一样? 管理多个应用程序可能是一场噩梦。让多个应用程序交互……这是一场噩梦,除非它们具有相同的数据库,以便您可以共享数据和状态。所以...如果您要在同一个 "portal" 中展示 yahoo 电子邮件和 gmail,我相信 iframe 将是您的最佳选择,因为这两个平台共享 0 资源和数据。
我问你,你在哪里/如何看到性能问题?您是否使用 Kadira 之类的工具进行监控?你有很多pub/subs吗?你使用 Redux 来存储你的本地数据吗?你在什么情况下使用分页?理论上,考虑到压缩和当今移动设备上的 LTE 速度,组件的数量和 CSS 是微不足道的。我还使用 Meteor/React 构建了一个带有提要和聊天等功能的全尺寸社交平台,我只有 3 个出版物,每个出版物有 25 个初始文档。您知道您的 pub * 文档数量方面的负载吗?