node.js - 我们应该在 expressjs 中使用 Jade 还是 React 作为视图引擎
问题描述
我是 expressjs 的新手,并开始使用 MERN Stack 构建一个项目。
我对应该使用jade\pug、EJS、React 哪个视图引擎感到困惑。
我已经使用过 Jade 将包含来自 mongodb 的内容的页面呈现到浏览器中。我应该使用后端以 json 格式提供内容,而不是将整个页面呈现为 HTML。
我还尝试实现https://github.com/reactjs/express-react-views 以便我可以使用 React 从服务器呈现页面。但是“express-messages”和“connect-flash”npm 包存在一些问题。
解决方案
在我看来,这取决于您的喜好。实际上,您选择哪个模板/视图引擎并不重要,因为您只是在学习和练习。他们的学习曲线很陡峭。
您甚至可以通过观看一些优质的 youtube 视频来免费学习它们,并且您将了解全貌。
它们只是工具,仅此而已。
个人观点:举两个我个人使用的流行的:Pug(玉)和EJS。
EJS 毫不费力,保持了普通 html 文件的外观。
在那里,你有你的答案。但是:
但是,实际上,如果您为其他人工作,或者以后可能是您自己的个人喜好,您将处理 API 设计,例如:REST 和 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 一起使用很有用:
使用 Next.js 和 Express.js 构建服务器渲染的 React 应用程序
一些你会感兴趣的文章:
推荐阅读
- php - get the result from function and post it to select tag
- java - 如何在android中的数据绑定(MVVM)中将活动A意向活动B
- php - 变量不能与电子邮件 ID 一起动态工作
- python-3.x - 如何将一个列表中的元素分配为另一个列表中元素的值并打印结果?
- php - 正则表达式匹配多个实例
- node.js - 删除 /var/log/node.log 是否安全?
- maven - JFROG RPM issues
- javascript - 如何在目录中查找和打印pdf文件,然后在打印后删除?
- node.js - Root package.json unmet dependency in child package.json
- javascript - 在 SAPUI5 中可以绘制对象吗?