接下来,默认情况下,JS在第一次构建网站后生成一个静态版本的网站,然后在用户请求时提供它.这会不会与ReactJS所做的相反(Reaction JS使用JS在客户端生成网站),并且基本上与使用普通的HTML/CSS/JS相同?

另外,Next JS将静态生成的网站存储在哪里?(是在托管网站的服务器上还是在其他地方?)

推荐答案

是的,这听起来有点违反直觉,所以NextJS实际上是从React组件生成HTML标记,但其 idea 是在第一个页面加载时更快,但在那之后,应用程序将像普通的ReactJS应用程序一样发送其余的Java脚本.

这样做的目的是始终响应HTML(这样Google和其他SEO工具就可以在不加载额外资源的情况下"理解"您的页面).

该HTML在HTTP请求中传输并加载到页面,但在此之后加载真正的ReactJS,向直接从HTML加载的初始组件添加交互(该过程称为水合).

静态生成的文件是由NextJS在部署时构建的,这些文件可以由NextJS自己提供服务(当在自托管环境中运行时),也可以将它们上传到更传统的网站托管解决方案.

Javascript相关问答推荐

如何从网站www.example.com获取表与Cheerio谷歌应用程序脚本

如何解决useState错误—setSelect Image不是函数''

Prisma具有至少一个值的多对多关系

Websocket错误—有一个或多个保留位开启:reserved1 = 1,reserved2 = 0,reserved3 = 0

在执行异步导入之前判断模块是否已导入()

material UI按钮组样式props 不反射

<;img>;标记无法呈现图像

JavaScript:如果字符串不是A或B,则

当我点击一个按钮后按回车键时,如何阻止它再次被点击

通过跳过某些元素的对象进行映射

如何在每隔2分钟刷新OKTA令牌后停止页面刷新

如何使用Cypress在IFRAME中打字

如何使用fltter_js将对象作为参数传递给javascrip?

Google OAuth 2.0库和跨域开放程序的问题-策略错误

Select 所有输入.值

2.0.0-dev quill拖动文本不起作用如何使其拖动文本

在Java脚本/类型脚本中覆盖父构造函数中的默认值

如何使用JavaScript将动态表上具有相同值的行与某些条件合并

在继续循环之前,请等待带有异步调用的函数完成

更改所有验证组件文本和背景 colored颜色