58

私は最近 AngularJS を始めましたが、気に入っています。今後のプロジェクトでは、MEAN スタック (MongoDB、Express、Angular、Node) の使用を検討しています。私はAngularにかなり精通しており、スタック内のMongoDBとNodeの目的をある程度理解しています。しかし、Express.js の目的が何なのかよくわかりません。それはMEANスタックに不可欠ですか? 従来の MySQL、PHP、JavaScript アプリと比較すると、どのようになりますか? 他の 3 つのコンポーネントではできないことは何ですか?

また、スタックの 4 つの部分がどのように連携して機能するかについて、誰かが独自の見解を示したいと考えている場合、それは素晴らしいことです。

4

6 に答える 6

70
  • MongoDB = データベース
  • Express.js = バックエンド Web フレームワーク
  • Angular = フロントエンド フレームワーク
  • Node = バックエンド プラットフォーム / Web フレームワーク

基本的に、Express が行うことは、バニラ Node.js よりもリクエスト エンドポイントの作成、Cookie の処理などのためのわずかに単純なインターフェイスを提供することで、Web アプリケーションを簡単に作成できるようにすることです。方程式から除外することもできますが、そうすると、Web アプリケーションを作成するためにさらに多くの作業を行う必要があります。ノード自体は、エクスプレスが行っているすべてのことを行うことができます (エクスプレスはノードで実装されます) が、エクスプレスはそれをより優れたパッケージにラップするだけです。

Express を、あなたが記述したスタック内のいくつかの PHP Web フレームワークと比較します

于 2013-10-16T18:41:28.677 に答える
20

Express は、Node.js で Web アプリケーションを作成するためのユーティリティ ベルトと考えることができます。Web サーバーを構築するために必要なほとんどすべての機能を提供します。通常の 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 フレームワークについてはあまり知りません。

于 2013-10-16T18:59:09.563 に答える
5

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 要求をリッスンする方法を示します。

于 2013-10-16T18:41:06.957 に答える
0

Express を使用すると、vanilla js に比べて HTTP リクエストを簡単に管理できます。getリクエストを行うには、次のものが必要です

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

エクスプレスでは、エクスプレスを要求して使用し、http リクエストを作成します

const express = require("express")
const app  =express();
app.get("url",callback function);
于 2018-09-30T11:10:54.847 に答える