【问题标题】:Should we use Jade or React as view engine in expressjs我们应该在 expressjs 中使用 Jade 还是 React 作为视图引擎
【发布时间】:2019-11-06 05:21:47
【问题描述】:

我是 expressjs 的新手,并开始使用 MERN Stack 构建一个项目。

我对应该使用什么视图引擎jade\pug、EJS、React 感到困惑。

我已经使用jade将带有mongodb内容的页面渲染到浏览器中。 我应该使用后端以 json 格式提供内容,而不是将整个页面呈现为 HTML。

我也尝试实现https://github.com/reactjs/express-react-views 这样我就可以使用 React 从服务器渲染页面。 但是 'express-messages' 和 'connect-flash' npm 包存在一些问题。

【问题讨论】:

    标签: node.js reactjs express pug


    【解决方案1】:

    在我看来,这取决于您的偏好。实际上,您选择哪个模板/视图引擎并不重要,因为您只是在学习和练习。 他们的学习曲线是steep
    您甚至可以通过观看一些优质的 youtube 视频来免费学习它们,并且您将了解全貌。
    它们只是工具,仅此而已。

    个人意见:举两个我个人使用的流行的:哈巴狗(玉)和 EJS。
    EJS 不用大惊小怪,保持普通 html 文件的外观。


    在那里,你有你的答案。 但是

    但是,实际上,如果您为其他人工作或者以后可能是您自己的个人喜好,您将处理 API 设计,例如:REST and GraphQL

    这意味着您的view与服务器端分离,这是MVC架构的一部分,留给客户端处理它,这就是RESTful/GraphQl API提供服务器之间在线通信的地方和客户。


    这意味着您必须选择一个前端框架,包括流行的 React、Angular 或 Vue。
    选择一个前端框架比把你的view 留给一些模板引擎要好得多。不仅更灵活,更让您在市场上更受欢迎。

    由于您已经在处理 React,作为一个 MERN 堆栈,并且您的个人偏好是拥有它所有的服务器端,Next.js 将是一个很好的尝试选择。

    即使在 MERN Stack 研究员 (https://mern.io/) 的网站上,也可以引用:
    我们建议在您的 React 项目中使用 Next.js。

    Next.js 基本上是服务器端的 React,它允许您使用强大的框架而不是模板引擎来构建您的视图,具有如此多的灵活性和强大的功能。


    由于您使用 express 作为 Node.js 的框架,因此本文对您将 Next.js 与 express 一起使用很有用:

    Building a server-rendered React app with Next.js & Express.js


    一些你会感兴趣的文章:

    Server Side Templates vs REST API and Javascript Front-End

    Is there any reason to use server side rendering instead of HTTP API + JS Frontend? [closed]

    【讨论】:

      猜你喜欢
      • 2013-05-04
      • 1970-01-01
      • 2018-05-02
      • 2022-11-02
      • 2012-01-06
      • 2013-03-04
      • 1970-01-01
      • 2011-06-03
      • 1970-01-01
      相关资源
      最近更新 更多