JavaScript 框架

标签 javascript node.js express

有人可以启发我使用 NodeJS 的 Web 框架吗?我最近开始从免费代码营学习express js,虽然一切进展顺利,但我对express到底是什么感到困惑。是全栈框架吗?纯粹是为了后端吗?我发现您可以使用不同的模板引擎。

我看到人们说你可以同时使用前端框架。如果express已经能够渲染 View ,那么使用前端框架还有什么意义呢。

另外,express和meteor、vuejs或react之间有什么区别?网络上的流行语太多,令人困惑。

最佳答案

Express是一个运行在nodejs中的后端Web服务器框架。它纯粹用于后端,尽管您可以在其中定义任何前端都可以进行 ajax 调用的路由/端点。

您可以使用 Express 来更轻松、更快速地处理 Web 服务器请求和响应。它支持以下内容:

  1. 定义您要处理的路由/网址/端点。
  2. 提供静态网页。
  3. 安装用于各种事务的中间件,包括 session 和身份验证。
  4. 连接到众多模板渲染引擎之一。
  5. 自动解析查询参数和表单提交等内容。

Is it a full stack framework?

没有。 Express 没有前端组件。

Is it purely for backend?

是的。

由于 Express 变得如此流行,因此还有数以千计的插件可以插入 Express(通常作为中间件)以进行 session 或身份验证等操作。

由于它处理标准 HTTP 请求,因此您可以将它与任何前端技术一起使用,从普通浏览器到许多前端框架。

Also, what's the difference between express and something meteor, vuejs or react?

Express 是一个后端框架(在 Web 服务器上运行)。 vuejs 和 React 是前端库(在浏览器中运行)。 Meteor 是一个全栈框架。后端运行在nodejs上,前端组件运行在浏览器中。

I see things where people say you can use front end frameworks along with it. If express is able to already render views, what's the point of using a front end framework.

是的,Express 可以为您查看的网页提供服务,并且可以使用服务器端模板引擎来呈现它们。但是,前端框架的潜在功能远不止于此。例如,express 没有提供任何内容来管理用户与浏览器中页面的交互或构建基于用户交互而变化的动态网页。如果您正在构建从数据库创建、读取和更新数据的网页,那么 Express 本身不提供执行此操作的自动化功能,而其他框架可以提供很多帮助。您可以在自己的 JavaScript 中构建所有这些内容,这些内容将存在于 Express 所服务的网页中,但 Express 除了提供您自己编写的 JavaScript 之外,根本不提供任何帮助。

如果您想更多地了解前端框架的用途,那么我建议您阅读 React、Vuejs 或 Angular 等框架,以了解它们的值(value)主张。我并不是说你必须使用前端框架(因为你不需要)。网络上有无数的网站由某种后端框架和纯 JS/HTML 网页组成。前端框架是否有利于您的开发取决于您正在做什么以及它与特定前端框架提供的功能的配合程度。

这里有几篇关于 Reactjs 的好文章:

ReactJS For Stupid People (仅供引用,我发现这对聪明人来说也是一篇非常好的文章)。

What is React.js and Why I recommend it to other JavaScript Developers?

这篇文章Full-Stack Frameworks包含对预构建的全栈功能(例如 Meteor)与使用 MEAN(Mongo + Express + AngularJS + Node.js)或 MERN(Mongo + Express + React + Node.js)等技术组合的有用讨论,以及还涉及哪些技术更常一起使用。

关于JavaScript 框架,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41200407/

相关文章:

Javascript 拆分字符串

javascript - 为谷歌可视化表列中的列添加自定义排序

javascript - 使用 node-gd 对 png 缓冲区进行 Base64 编码

javascript - 如何计算网页上的唯一访问者

node.js - Socket.io、集群、快速和同步事件

javascript - 无法读取路由参数中未定义的属性 'name'

javascript - Visual Studio 2013 JavaScript/TypeScript 奇怪的缩进行为

javascript - 可排序的组件列表

mysql - 如何在 node.js 中将 mysql 查询的结果输出为 json 文件

node.js - 使用 Keycloak 保护 Electron 应用程序