禁用JavaScript时,SSR不起作用

时间:2019-01-22 17:01:58

标签: javascript reactjs next.js serverside-javascript ssr

在此引用此票证:https://github.com/zeit/next.js/issues/4210 我目前想知道为什么当您禁用javascript时,使用Relay modern和NextJS的大多数内容不起作用。

我最初的猜测是,由于NextJS是用于服务器端渲染的React库,如果在chrome中禁用了JavaScript,则显然React无法正常工作。但是,NextJS是服务器端渲染,因此在客户端禁用javascript应该不是问题吗?因此,为什么仍然会出现此问题?

2 个答案:

答案 0 :(得分:1)

在现代SSR场景中,例如在isomorphic application中,服务器仅完成第一个渲染,并返回纯html的内容以及js的内容。用于后续渲染。

如果浏览器禁用了javascript,则您应该只将第一个呈现为静态页面,因为解释器所做的只是显示纯html内容,但是您不能与该页面进行交互(需要启用js)

答案 1 :(得分:0)

尽管@Karim的答案是正确的,但值得指出的是,从技术上讲,如果您使用“渐进增强”功能,则用户可以与页面进行部分交互。在这种情况下,您将使用本机HTML功能来执行操作,例如导航到其他页面,提交表单等。这些操作不需要启用JS即可正常工作。根据您的目标受众,这可能比其价值还难得多。