首页 文章

Express.js在MEAN堆栈中做了什么?

提问于
浏览
50

我最近已经进入AngularJS,我喜欢它 . 对于即将到来的项目,我希望使用MEAN堆栈(MongoDB,Express,Angular,Node) . 我对Angular非常熟悉,我对堆栈中MongoDB和Node的用途有一点了解 . 但是,我真的不明白Express.js的用途是什么 . MEAN堆栈是否必不可少?你会在传统的MySQL,PHP,javascript应用程序中将它与什么进行比较?它的其他三个组件不能做什么呢?

此外,如果有人想要自己了解堆栈的四个部分如何协同工作,那就太好了 .

5 回答

  • 0
    • MongoDB =数据库

    • Express.js =后端Web框架

    • Angular =前端框架

    • Node =后端平台/ Web框架

    基本上,Express所做的是通过提供一个稍微简单的界面来创建您的请求 endpoints ,处理cookie等,而不是vanilla Node,它使您能够轻松创建Web应用程序 . 您可以将其排除在等式之外,但是您必须在制作Web应用程序时做更多的工作 . 节点本身可以做快递所做的一切(快递是用节点实现的),但表达只是将它包装在一个更好的包中 .

    我会将Express与您描述的堆栈中的某些PHP Web框架进行比较,例如slim .

  • 59

    您可以将Express视为使用Node.js创建Web应用程序的实用程序带 . 它提供了构建Web服务器所需的几乎所有功能 . 如果您要使用vanilla Node.js编写相同的功能,则必须编写更多代码 . 以下是Express的功能示例:

    • 使用类似的东西简化REST路由

    • app.get('/user/:id', function(req, res){ /* req.params('id') is avail */ });

    • 一个中间件系统,允许您插入不同的同步函数,这些函数通过请求或响应执行不同的操作,即 . 身份验证或添加属性

    • app.use(function(req,res,next){ req.timestamp = new Date(); next(); });

    • 用于解析POST请求主体的函数

    • 跨站点脚本预防工具

    • 自动HTTP标头处理

    • app.get('/', function(req,res){ res.json({object: 'something'}); });

    一般来说,Sinatra是Ruby,Express是Node.js.我知道这不是一个PHP示例,但我对PHP框架知之甚少 .

  • 4

    Express处理诸如cookie之类的东西,解析请求体,形成响应和处理路由 .

    它也是应用程序的一部分,它监听套接字以处理传入的请求 .

    一个简单的例子来自express github

    var express = require('express');
    var app = express();
    
    app.get('/', function(req, res){
      res.send('Hello World');
    });
    app.listen(3000);
    

    显示快速服务器的创建,创建路由 app.get('/'... 并打开端口以侦听传入的http请求 .

  • 0

    与vanilla js相比,Express允许您轻松管理http请求 . 您需要以下内容才能获取请求

    const Http = new XMLHttpRequest();
    const url='https://jsonplaceholder.typicode.com/posts';
    Http.open("GET", url);
    Http.send();
    Http.onreadystatechange=(e)=>{
    console.log(Http.responseText)
    }
    

    在express中,您需要表达并使用它并发出http请求

    const express = require("express")
    const app  =express();
    app.get("url",callback function);
    
  • 19

    在基于Node.js的框架中表达,简化了编写服务器端代码和逻辑的过程 .

    添加了许多实用程序功能并提供了其他功能,通常可以使事情变得更容易 .

    Express是 middleware-based :它基本上通过一系列中间件(步骤)汇集传入的请求,我们可以对请求执行某些操作,从中读取一些数据,操作它,检查用户是否经过身份验证或基本上立即发回响应 .

    这个中间件链允许我们编写非常结构化的代码

相关问题