雨果和React?

时间:2018-11-15 15:40:35

标签: reactjs content-management-system gatsby hugo

是否有可能/理想地将类似Hugo的东西与React一起使用?我知道盖茨比,但雨果也会工作。我对两者的结合了解有限,但是我的理解是,Hugo将用于所有模板化和静态网页,然后React将用于Web应用程序类型的东西,以及在那里的无头CMS?有经验的人可以评论为什么Hugo或Gatsby有时可以很好地与React一起使用吗?还是框架之间的关系概述?

2 个答案:

答案 0 :(得分:3)

是的,
gatsby中有组件网页设计,
还有雨果的光速,

我也陷入了这些决定之间。

我不知道该怎么做,但是我的想法是:

  1. 使用gatsby构建页面。您应该自己构建网站的每个页面(不要依赖路由)
  2. index.html文件与hugo模板一起使用。
  3. 完成

这是构建gatsby页面之后的文件夹public(输出)的图片:
enter image description here

更新:

您可以依赖路由。在上图中,每个组件文件夹都有自己的index.html,因此您也可以使用它们。

答案 1 :(得分:0)

  

是否有可能/理想地将类似Hugo的东西与React一起使用?我知道   ,但雨果也会努力。

我们在https://www.electrade.app使用了Hugo和React(create-react-app)。所有页面都用作hugo静态页面,但是如果您导航至/ quote,则SPA会加载,并且您处于动态状态。因此,是的,Hugo也能正常工作,但是您将拥有2种语言和2种语法。

  结合这两个我的理解是,雨果将   用于所有模板和静态网页,然后React将   用于Web应用程序类型的东西

完全正确。

  

有经验的人可以评论为什么雨果还是   Gatsby有时可以很好地与React一起使用?或概述   框架之间的关系?

  • Hugo用Go编写,并构建了普通的静态HTML。示例:一个博客,但是您只需编写一次页眉和页脚。
  • React用Javascript编写,是用于构建动态接口的前端库。一个React网站通常会为您提供一个空的index.html文件和一个Javascript文件,然后它们将运行并在浏览器中动态填充index.html文件中的内容。例如:Facebook Newsfeed每次加载都不同。
  • 但是,如果您想编写上面的示例博客,又只写一次页眉和页脚,但习惯于React语法怎么办?如果您使用普通的React,那么您的博客将下载一个空的index.html文件,并用Javascript填充您的博客。这尤其不利于SEO和加载时间。如果您仍然希望将其编译为原始静态HTML,那就是Gatsby的目的。