【发布时间】:2021-10-25 17:10:16
【问题描述】:
注意:我是网络开发的新手,所以请帮助我解决我可能有的任何误解。
我正在尝试学习 MERN 堆栈。例如,我正在尝试制作一个包含主页和关于页面的两页网站。我创建了一个./public 文件夹,并在该文件夹中添加了一个index.html 和一个about.html。然后我开始学习一些基本的表达,我有这条线,它可以让服务器从./public文件夹中提供静态文件:
// set static folder
app.use(express.static(path.join(__dirname, 'public', )));
在我对此感觉良好之后,我想将 React 添加到我现有的项目中。这是我遇到一些困惑的地方。似乎 React 不允许我的网站中有多个页面;我看到了这个SO post. 所以,React 非常适合构建单页应用程序。我还看到this YouTube video,前三分钟解释了传统多页面应用程序和 React SPA 之间的区别。他表示所有页面将一次发送,react-router 将拦截任何页面请求并使用它在第一个页面加载时已经收到的页面重新渲染浏览器。
所以,最后我们来回答我的问题。回到我的例子,假设我的关于页面非常大,有很多文本和图像。 如果我加载主页不是很浪费,但是服务器必须发送整个网站,包括大的关于页面,即使我可能永远不会点击关于页面?加载后,我了解客户端从一页到下一页的流畅体验,而无需联系服务器。但这是否意味着客户端会经历很长的初始等待时间。而且,这不是通过发送用户可能永远不会点击的页面来浪费服务器资源吗?网站拥有的独特页面越多,问题似乎就越严重。
【问题讨论】:
标签: javascript reactjs express react-router mern