【问题标题】:Javascript server-render libraries with non-JS REST APIs带有非 JS REST API 的 Javascript 服务器渲染库
【发布时间】:2018-01-16 21:17:50
【问题描述】:

服务器渲染的框架/库(例如 Nextjs 用于 React,Nuxt 用于 Vue)和 非 JS REST API 后端(即 Java、Django、Go 等)是否相互独占还是可以一起使用?

具体来说,我正在使用 Go 在后端构建一个 REST API,我想知道我是否必须放弃它来让页面由服务器渲染。

【问题讨论】:

    标签: javascript rest nuxt.js nextjs server-rendering


    【解决方案1】:

    我们鼓励您使用use a separate API server with next.js,即使您同时使用 JavaScript。 api.example.com 上的 api 很常见,无论是在服务器端还是浏览器渲染,都让 next.js 应用程序与它通信。

    如果您想将它们放在同一个域中以便直接使用 cookie,您可以在 now.sh 中使用path aliases,这是来自 Next.js 的开发者 Zeit 的类似 Heroku 的 PaaS。这些可以使用now-server 在开发中设置。这也可以通过 nginx、apache、netlify 和 CloudFront 中的反向代理,或在 AWS 的 Application Load Balancer 中使用基于路径的路由来完成。

    【讨论】:

      【解决方案2】:

      实际上,这是两个不同的问题:Vue 和 React 是 JavaScript 框架。它们不会在您基于 Go 的服务器应用程序上运行。

      没有什么可以阻止您在 Go 应用程序中呈现 HTML,但 Go 服务器不会运行 JavaScript 框架。如果是这样,它可能需要额外的脚手架,此时您不妨设置一个 NodeJS 服务器来处理这些路由的渲染。

      【讨论】:

      • 所以,我可以使用 nextjs 或 nuxt(我不是指完整的服务器渲染概念,而是那些 JS 框架),“仅当”我使用 Javasript 后端时。如果我错了,请纠正我。
      • 没错。可能有一些疯狂的 hack 可以让您在 Go 服务器上运行 JS(例如:github.com/dop251/goja_nodejs),但您应该在 JS 服务器上运行 JS 框架。你仍然可以在你的 Go 服务器上渲染一些 HTML 的客户端 React 或 Vue 应用程序,但这与运行框架本身不同。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-03-30
      • 2021-11-20
      • 2021-01-12
      • 2020-04-10
      • 2013-07-08
      • 2019-04-02
      相关资源
      最近更新 更多