服务器渲染在静态网站上反应js

Bla*_*tab 5 javascript static nginx node.js reactjs

我最近一直在探索反应很多,我看到你如何设置节点到服务器渲染代码之类的东西.我真的对使用静态页面感兴趣是出于速度原因,但是我不确定在使用静态html时是否可以渲染反应组件.

我可以使用类似nginx的东西来触发反应渲染吗?或者我是否需要更多并且必须使用节点,轨道或sinatra之类的东西?很抱歉,如果这是一个误入歧途的问题,我对服务器客户端交互没有强烈的感觉.

Pau*_*ssy 8

我们导出一个允许你渲染到静态HTML的函数 - ReactDOMServer.renderComponentToStaticMarkup(docs).

您需要Node运行才能调用该函数.或者,您也可以在开发站点时使用该功能,并调用它来生成写入磁盘的静态HTML文件.您仍然需要节点来调用该函数,但您不需要生产中的节点.然后,您可以根据需要使用该文件(例如,可以与GitHub页面,S3一起使用,或者实际上可以在任何地方使用,因为它只是HTML).


Kon*_*kus 5

如果您计划在CDN中托管您的React Web应用程序(例如GitHub Pages,Amazon S3/CloudFront,Firebase),那么您可能希望在编译步骤中将所有基于反应的页面预呈现为静态HTML文件.这是一个例子:

https://github.com/koistya/react-static-boilerplate

(免责声明:我是作者)

下一步,您可以为此站点添加Travis CI自动构建配置,以便在将新版本的源文件推送到GitHub存储库时,Travis CI将构建项目并将其推送到GitHub页面(或Amazon S3,Firebase).