【问题标题】:Suggestion: Single Page application architecture issue建议:单页应用架构问题
【发布时间】:2019-06-12 05:31:08
【问题描述】:

我编写了一个仅涉及前端技术 (Vuejs) 的 Web 应用程序(单页应用程序),当我编译它时,它最终会生成网页(仅 HTML 和 JS)。我可以通过打开索引页面在任何地方运行这个应用程序。我在这个 SPA 上使用由 oAuth 提供支持的 REST API(直接 Ajax 调用 REST API 端点)。

但问题是,我的首席开发人员说 SPA 必须由后端服务(服务器)提供支持,例如 nodejs、apache。并且后端应该调用 REST API,而不是直接从浏览器调用 Ajax(前端 JS ajax)。我的 SPA 应用程序可以在任何地方运行,即使没有任何服务器也可以在浏览器上完美运行。

我的问题是,我真的需要渲染并使用网络服务器运行我的 SPA,让我的 SPA(纯 html、js)应用服务器支持的原因是什么??

另外请建议我,如果人们只是使用 JS 和 HTML(纯前端)编写应用程序并在服务器上上传并将域名指向将使用远程 REST API 的 html-js 网络应用程序。

感谢您提前澄清了我的疑问。

我有远程 REST API 提供程序,建议我编写 SPA 以使用远程 API 的最佳方式。

【问题讨论】:

  • 那么当你的应用在浏览器中加载的时候是URI“file:///”的协议部分?
  • 据我了解 - 问题是:我需要自己的后端,还是可以只调用 REST API(直接从前端),对吗?
  • @BeniaminH 是的先生。
  • 请看下面我的回答:)
  • 听起来好像您想模拟一个桌面应用程序。如果是这种情况,我解决您提出的问题的方法是使用 ElectronJS:electronjs.org

标签: javascript html web vue.js single-page-application


【解决方案1】:

设置后端服务可能有一些原因,例如:

  1. 隐藏 REST API 端点
  2. 将您自己的缓存/节流/故障转移等设置到 REST API 端点
  3. 覆盖/控制 REST API 响应/请求

尽管如此,您只能使用纯 html+js SPA,但添加后端服务会为您提供额外的选项,这是前端无法实现的。

【讨论】:

  • 我的领导说他希望底层操作系统支持和组件能够使用该 SPA。
猜你喜欢
  • 2012-03-01
  • 2012-08-04
  • 2012-04-10
  • 1970-01-01
  • 2016-03-19
  • 1970-01-01
  • 2011-03-11
  • 2023-03-24
相关资源
最近更新 更多