【问题标题】:What is the benefit of serving react app(front end) from express app(back end)从快速应用程序(后端)提供反应应用程序(前端)有什么好处
【发布时间】:2021-06-11 11:43:52
【问题描述】:

我已经开发和托管了一些 React 应用程序,但我仍然对服务器端渲染这个词感到困惑。所以,我很想知道从 express 服务器为我的 react 应用程序提供服务有什么好处。

感谢您,期待您的回复。

【问题讨论】:

  • 服务器端渲染是一种性能优化,可以更快地在屏幕上显示初始内容。您是否正在寻找更具体的内容?
  • 您好,感谢您的回复。更具体地说,我使用 create-react-app 构建了一个投资组合网站,并将其托管在 Netlify 上。当我在 chrome 开发工具上查看我的网络选项卡时,我注意到没有任何网站内容被缓存。所以,我在想,如果我通过 express 提供服务,是否会让浏览器缓存网站内容。

标签: node.js reactjs express frontend backend


【解决方案1】:

请考虑澄清您的问题,因为我也不知道您使用的是 next.js 还是 nuxt.js。

Angular、React、Vue.js 是 JavaScript 前端框架/库,这意味着它们使用的是 JavaScript 语言。

互联网上的网站包含 HTML、CSS、JavaScript Vanilla 代码。 您使用 React.js 开发的应用程序需要使用 React.js 库源代码,然后您需要将 React.js 代码编译为 JavaScript Vanilla 代码,因为最终浏览器需要它可以读取的 JavaScript 原生代码。

当我需要查看您托管的网站时,我需要编写域名以查看它,因此最后的 HTTP 请求会发送到托管您的 react 应用程序的服务器,因此如果您的 react 应用程序只包含一个 静态内容,例如一个登陆的 HTML 页面,那么就不需要从 Express(Node.js)、Ruby、PHP、Java 等服务器端渲染...

我所说的静态内容是指不会响应不同用户而改变的内容,他们都会得到相同的内容。

请注意,您可以在 Github 中托管静态网站,并且您仍然不需要任何服务器端渲染...

让我们有一个小应用程序来更好地解释: 如果您开发了一个包含您自己的描述、您的项目图像、技能的作品集,那么这里就不需要服务器端渲染。

但是,如果您开发的系统允许有权从完整 URL 创建短链接的用户,那么您需要一个后端服务器(如 Java、Ruby、C#、PHP...)来托管逻辑代码以便从完整 URL 生成一个小 URL,然后将其保存在数据库中,这样任何用户都可以单击生成的小 URL,然后此请求将发送到您的后端服务器,该服务器需要使用正确的完整 URL 重定向用户,像这样的应用程序不能单独使用 React.js 完成,您需要一个服务器来处理逻辑。

回到你回答你的问题:“所以,我很想知道从 express 服务器为我的 react 应用程序提供服务有什么好处。” p>

如果您有静态内容,则可以避免使用 Express,但如果您认为您的应用程序将来需要一些后端逻辑,那么 Express 或任何其他后端框架都会在这方面为您提供帮助。

*注意当您有一个静态网站,并且您尝试编辑它的内容时,已经访问过您网站的用户,他们的浏览器可能会缓存您的网站内容,除非(他们在浏览器中禁用了此选项),所以如果您的网站缓存在用户的浏览器中,除非您更改静态网站文件名,例如通过在文件名中添加 ?092130123 以让用户的浏览器下载更新的数据,否则他们可能无法获取更新的内容

【讨论】:

  • 您好,感谢您的详细解释。它们尤其有助于解释不需要服务器的静态网站和需要服务器将其详细信息存储在数据库中的动态网站。
猜你喜欢
  • 1970-01-01
  • 2021-07-26
  • 2020-02-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-09-18
  • 1970-01-01
相关资源
最近更新 更多