小编mar*_*c08的帖子

使用 next.js 进行服务器端渲染 vs 传统 SSR

我非常习惯于 SSR 意味着页面完全刷新并从服务器接收完整 HTML 的方法,在那里它根据后端堆栈使用 razor/pub/other 进行呈现。所以每次用户点击导航链接时,它只会向服务器发送一个请求,整个页面将刷新,接收一个新的 HTML。这就是我理解的传统 SSR。

然而,对于 SPA,我们有例如 react 或 angular,我们在开始时收到几乎空的 HTML,然后是 JS,以便整个应用程序在客户端初始化。然后我们可以使用一些 REST API 来获取 json 数据并在前端(客户端路由和渲染)上呈现视图,而无需任何页面刷新。我们甚至不需要任何服务器。

现在,我有一个问题理解是 SSR(例如 next.js)如何与 react 一起工作。

从我正在阅读的内容来看,第一个请求返回完整的 HTML+CSS(这有助于 SEO 等 - 我明白了),但是稍后会发生什么?在第一个/初始请求之后会发生什么?整个 react 应用程序是否在浏览器中初始化,然后它的行为就好像它是一个普通的 SPA(意味着从现在开始我们有客户端路由和渲染,无需向该服务器发出请求)?换句话说,next.js 在初始请求之后是否仍然发出任何服务器请求,或者从现在开始它是否像典型的带有 CRA 的 SPA?

我花了很多时间阅读,但所有文章都主要关注初始请求和 SEO 以及第一个字节、绘制等的时间,我只是想了解为什么它被称为 SSR,因为它似乎与我使用的传统 SSR 不同开头描述的。

javascript single-page-application reactjs server-side-rendering next.js

8
推荐指数
1
解决办法
3775
查看次数

Angular 2服务:保存数据的位置

我已经学习了角度2几周.我有点困惑一件事.请比较这里存储/共享数据的方式:

https://github.com/Apress/pro-angular-2ed/blob/master/Angular%202.0/08%20-%20SportsStore%20-%20Orders%20and%20Checkout/SportsStore/app/model/product.repository. TS

和这里:

https://github.com/gothinkster/angular2-realworld-example-app/blob/master/src/app/shared/services/comments.service.ts

第一个链接显示了Adam Freeman的书"Pro Angular"中是如何完成的.我们可以看到有一个名为ProductRepository的服务,那就是存储所有产品的地方.这个服务有一个构造函数,它从另一个服务初始化它的数据,称为StaticDataSource(书中的后面更改为从其余的api获取数据).总而言之:我们有一个组件,它会注入一个名为ProductRepository的服务.然后它使用此服务中的getProducts()方法来接收所有产品(实际上它们只是存储在该服务的数组中).

现在让我们看看第二个链接:

在这里,我们有一个CommentsService.这次数据不存储在此服务中.我们只使用名为getComments()的方法,该方法又从api服务执行另一种方法.总结一下:我们有一个组件(ArticleComponent),它会注入CommentsService.然后它在该服务上调用getComments(),实际上每次调用时都会向服务器发送一个http.get请求.


现在我的问题是这些方法与后果之间的区别.据我所知,在第一种情况下,所有数据仅从服务器获取一次(当应用程序加载时),然后将其全部存储在名为SomethingRepository(ProductRepository等)的服务中.然而,在第二个链接中,每次我们使用服务(在任何组件中),我们都直接从服务器接收数据.

它的最佳实践是什么?我只是担心,如果我们使用书中提出的方法,那么我们不会总是获得"最新鲜"的可能数据,因为如果另一个客户在此期间改变了某些东西,那么我们仍然处理我们下载时下载的数据应用正在加载.另一方面,第二种方法可能会影响我们在组件之间共享数据的可能性.

我真的对此感到困惑,我不确定我是否应该将整个模型保留在我的应用程序中并拥有某种存储库,或者第二种方法可能更好.感谢您的任何帮助.

web-services angular2-services angular

6
推荐指数
1
解决办法
1898
查看次数

asp.net核心身份+ API

我刚刚开始学习asp.net核心。我想创建一个简单的Web应用程序,在asp.net核心中有一个其余的API,然后在一个单独的前端中消耗一些API。

我只是在尝试弄清楚ASP.NET Core身份和cookie /令牌身份验证时有些困惑...

我的问题很简单:我是否可以创建一个API并使用实体框架进行数据库处理,并使用ASP.NET Core Identity来处理创建和管理用户及授权?我是否还必须使用一些JWT,OAuth或类似的东西?只是这对我来说是超级新手,我感到困惑,因为每个示例/教程都以不同的方式显示它,我感到非常困惑...

谢谢你的帮助!

asp.net-mvc asp.net-web-api asp.net-core-mvc asp.net-core

5
推荐指数
1
解决办法
2254
查看次数