最近、AngularJSにアクセスしましたが、とても気に入っています。今後のプロジェクトでは、MEANスタック(MongoDB、Express、Angular、Node)の使用を検討しています。私はAngularにかなり精通しており、MongoDBの目的とスタック内のNode。 Express.jsの目的は何ですか?MEANスタックに不可欠ですか?従来のMySQL、PHP、javascriptアプリでは何と比較しますか?他の3つのコンポーネントではできないことは何ですか?
また、スタックの4つの部分がどのように連携するかについて、誰かが自分の意見を述べたい場合、それは素晴らしいことです。
基本的に、Expressが行うことは、リクエストエンドポイントの作成、Cookieの処理などのためにVanilla Nodeよりもややシンプルなインターフェイスを提供することにより、Webアプリケーションを簡単に作成できることです。計算式から外すこともできますが、Webアプリケーションを作成するにはさらに多くの作業を行う必要があります。 Node自体は、expressが行うすべてのことを行うことができます(expressはnodeで実装されます)が、expressはそれをより良いパッケージにラップするだけです。
Expressを、あなたが説明するスタック内のいくつかのPHP Webフレームワーク、 slim のようなものと比較します。
Expressは、Node.jsを使用してWebアプリケーションを作成するためのユーティリティベルトと考えることができます。 Webサーバーを構築するために必要なほとんどすべての機能を提供します。 Vanilla Node.jsを使用して同じ機能を記述する場合、大幅に多くのコードを記述する必要があります。以下に、Expressの機能の例をいくつか示します。
app.get('/user/:id', function(req, res){ /* req.params('id') is avail */ });
app.use(function(req,res,next){ req.timestamp = new Date(); next(); });
app.get('/', function(req,res){ res.json({object: 'something'}); });
一般的に、SinatraはRubyに対して、ExpressはNode.jsに対してです。 PHPの例ではないことは知っていますが、PHPフレームワークについてはあまり知りません。
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要求をリッスンします。
ExpressはHttpjsの最上位に構築されたnodejsフレームワークであり、ルートを処理する簡単な方法など、より使いやすく機能が向上しています。
例:HTTPの使用
var http = require('http');
//create a server object:
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/html'}); // http header
var url = req.url;
if(url ==='/about'){
res.write('<h1>about us page<h1>'); //write a response
res.end(); //end the response
}else if(url ==='/contact'){
res.write('<h1>contact us page<h1>'); //write a response
res.end(); //end the response
}else{
res.write('<h1>Hello World!<h1>'); //write a response
res.end(); //end the response
}
}).listen(3000, function(){
console.log("server start at port 3000"); //the server object listens on port 3000
});
エクスプレスを使用:
var express = require('express');
var app = express();
app.get('/about',function(req,res)=>{
res.write('<h1>about us page<h1>'); //write a response
res.end();
})
Node.jsベースのフレームワークで表現し、サーバー側のコードとロジックの記述を簡素化します。
多くのユーティリティ機能を追加し、追加の機能を提供し、一般的に物事を簡単にします。
Expressはミドルウェアベース:基本的に、一連のミドルウェア(ステップの)を介して着信リクエストを送り込み、そこでリクエストを処理したり、データを読み取ったり、操作したり、ユーザーが認証されるか、基本的にすぐに応答を送り返します。
このミドルウェアチェーンにより、非常に構造化されたコードを記述できます。
Expressでは、Vanilla jsと比較して、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)
}
エクスプレスでは、エクスプレスが必要であり、それを使用して、httpリクエストを行います。
const express = require("express")
const app =express();
app.get("url",callback function);