Express.jsとは何ですか?


439

私はNode.jsの学習者です。

  1. Express.jsとは何ですか?
  2. Node.jsの目的は何ですか?
  3. なぜ実際にExpress.jsが必要なのですか?Node.jsを使用することはどのように役立ちますか?
  4. Redisとは?Express.jsに付属していますか?

28
コミュニティWikiの回答(+50の賞金)までスクロールします。マークされた回答よりも役立つことがわかりました。
Shishir Gupta、2016

回答:


266

これは単純化を超えていますが、Express.jsNode.jsにとっRuby on RailsまたはSinatraRuby同じです。

Express 3.xは、Webアプリケーションをサーバー側のMVCアーキテクチャに編成するのに役立つ軽量のWebアプリケーションフレームワークです。テンプレート言語には、さまざまな選択肢を使用できます(EJSJade、およびDust.jsなど)。

その後、Mongoose(モデリング用)でMongoDBのようなデータベースを使用して、Node.jsアプリケーションのバックエンドを提供できます。Express.jsは基本的に、ルートから、リクエストやビューの処理まで、すべてを管理するのに役立ちます。

Redisはキー/値ストアです。通常、Node.jsアプリケーションのセッションとキャッシュに使用されます。あなたはそれでもっと多くのことができますが、それは私がそれを使用しているものです。私は、MongoDBを使用して、ラインアイテム<->オーダー<->ユーザー関係などのより複雑な関係を構築しています。Express.jsで動作するモジュール(特にconnect-redis)があります。サーバーにRedisデータベースをインストールする必要があります。

Express 3.xガイドへのリンクは次のとおりです。https//expressjs.com/en/3x/api.html


20
Expressは、レールではなくシナトラに似ています。
ハーフエルフ

11
Expressは特にシナトラに触発されました。おそらくその最も重要な機能はルーティングです。また、connectが提供するすべてのミドルウェアを利用できるようにします(connectのミドルウェアを必要とする最も特殊化されたアプリケーション以外のすべてがExpressを使用する可能性があるところまで)。
ebohlman 2012

実際、redisは複雑な関係に理想的です。
プラス

EJSリンクは現在停止しています。
David Spector

MVCがExpressとどのように関連しているかは本当にわかりません。正しく思い出せば、Expressにはモデルもビューもありません。MVCフレームワークではなく、ミドルウェアベースのフレームワークです。説明してください。
ガーマン

382

1)Express.jsとは何ですか?

Express.jsNode.jsフレームワークです。これは、現時点で最も人気のあるフレームワークです(NPMで最も主導されています)。

ここに画像の説明を入力してください

これは、Connectミドルウェアの構成と細かいシンプルさを中心に構築されています。一部の人々はにExpress.jsを比較ルビー・シナトラかさばる対と独断のRuby on Railsを

2)Node.jsの目的は何ですか?

同じコードを何度も繰り返す必要がないこと。Node.jsは、HTTPモジュールを備えた低レベルのI / Oメカニズムです。HTTPモジュールだけを使用する場合、ペイロードの解析、Cookie、セッションの保存(メモリまたはRedisで)、正規表現に基づいて適切なルートパターンを選択するなど、多くの作業を再実装する必要があります。Express.jsがあれば、それを使用するだけです。

3)Express.jsが実際に必要なのはなぜですか?Node.jsを使用することはどのように役立ちますか?

最初の答えはあなたの質問に答えるべきです。いいえの場合は、小さなREST APIサーバーをプレーンなNode.jsで(つまり、コアモジュールのみを使用して)作成し、次にExpress.jsで作成してみてください。後者は、5-10倍の時間とコード行を必要とします。

Redisとは何ですか?Express.jsに付属していますか?

Redisは高速で永続的なKey-Valueストレージです。オプションで、Express.jsでセッションを保存するために使用できますが、必須ではありません。デフォルトでは、Express.jsにはセッション用のメモリストレージがあります。Redisは、メールジョブなどのキューイングジョブにも使用できます。

Express.jsを使用したREST APIサーバーに関するチュートリアルを確認してください

MVCだけでなく

Express.jsは、それ自体がモデルビューコントローラーフレームワークではありません。MongoDB for MongoDB、Sequelize(http://sequelizejs.com)for SQLデータベース、Waterline(https://github.com/balderdashy/waterline)などの独自のオブジェクトリレーショナルマッピングライブラリを、スタック。

代替案

考慮すべきその他のNode.jsフレームワーク(https://www.quora.com/Node-js/Which-Node-js-framework-is-best-for-building-a-RESTful-API):

更新:Node.jsフレームワークを選択するのに役立つこのリソースをまとめました:http : //nodeframework.com

UPDATE2:nodeframework.comにいくつかのGitHub統計を追加したので、1ページで30以上のフレームワークの社会的証拠(GitHubスター)のレベルを比較できます。

ここに画像の説明を入力してください

フルスタック:

ただREST API:

Ruby on Railsのような:

シナトラのような:

その他:

ミドルウェア:

静的サイトジェネレーター:


Express.jsはNode.jsモジュールです(最初の行でフレームワークとしてアドレス指定しています)。nodeJという用語をmoduleよく耳にします。フレームワーク内のフレームワークは私にとって少しニュースです。
RBT 2017年

はい、実際には、Expressは、npmからの他のモジュールのようにアプリケーションに追加されるのと同じくらい、Node Package Manager(npm)モジュール(別名パッケージ)です。(Node Expressアプリケーションのソースフォルダーを見ると、node_modulesと呼ばれるフォルダーが表示されます。これには、expressと呼ばれるサブフォルダーが含まれます。)しかし、npmの他のほとんどのモジュールよりもはるかに便利です。一般的なタスクのAPIをアプリコーダーに効果的に提供する依存モジュールのロード。フレームワーク内のフレームワーク?サーバー作成フレームワークに接続可能な実装フレームワークに似ています。
トランク

15
  1. Express.jsとは何ですか?

Express.jsは、単一ページ、複数ページ、およびハイブリッドWebアプリケーションを構築するために設計されたNode.js Webアプリケーションサーバーフレームワークです。これは、node.jsの事実上の標準サーバーフレームワークです。

Express上に構築されたフレームワーク。

いくつかの人気のあるNode.jsフレームワークはExpressで構築されています。

LoopBack:動的なエンドツーエンドのREST APIをすばやく作成するための、拡張性の高いオープンソースのNode.jsフレームワーク。

Sails:実用的で本番環境に対応したアプリを構築するためのNode.js用MVCフレームワーク。

Kraken:構造と規則を提供することによりExpressを拡張する、安全でスケーラブルなレイヤー。

MEAN:Webアプリケーション開発を簡素化および加速する、意見が満載のフルスタックJavaScriptフレームワーク。

  1. Node.jsの目的は何ですか?
  2. なぜ実際にExpress.jsが必要なのですか?Node.jsを使用することはどのように役立ちますか?

Expressは、シンプルなルーティングとConnectミドルウェアのサポートを追加し、多くの拡張機能と便利な機能を可能にします。

例えば、

  • セッションが必要ですか?それはそこにある
  • POST本文/クエリ文字列の解析が必要ですか?それはそこにある
  • ヒスイ、ヒゲ、ejsなどを使って簡単にテンプレート化したいですか?それはそこにある
  • サーバー全体をクラッシュさせない優雅なエラー処理が必要ですか?

10
  1. Express.jsはNode.jsのモジュラーWebフレームワークです。
  2. Webアプリケーションおよびサービスの作成を容易にするために使用されます
  3. Express.jsは開発を簡素化し、安全でモジュール式の高速アプリケーションを簡単に作成できるようにします。すべてをプレーンな古いNode.jsで実行できますが、セキュリティ上の懸念(たとえば、文字列を適切にエスケープしないなど)を含むいくつかのバグが表面化する可能性があります(また、表面化します)。
  4. Redisは、その高速パフォーマンスで知られているインメモリデータベースシステムです。いいえ、ただし、redisクライアントを使用してExpress.jsで使用できます

これ以上簡潔にすることはできません。他のすべてのニーズと情報については、Googleがお友達です。


3

ExpressJSは、最低限 NodeJSの上のWebアプリケーションフレームワーク。

WebApp、RESTFUL APIなどをすばやく構築するために使用できます。

Jade、EJSなどの複数のテンプレートエンジンをサポートします。

ExpressJSは最小限の機能のみをコア機能として保持しているため、デフォルトでサポートされているORMまたはDBはありません。しかし、少しの労力で、expressjsアプリをさまざまなデータベースと統合できます。

ExpressJSアプリの作成に関する入門ガイドについては、次のリンクをご覧ください。

ExpressJS入門チュートリアル


3

Expressは、クライアントからの入力/接続要求を「リッスン」するサーバーに基づくアプリケーションに使用できるNodeのモジュールフレームワークです。Nodeで使用するときは、Nodeモジュールに組み込みのExpressファイルの使用を要求しているというだけです。

Expressは、NodeJSにバックエンドを持つ多くのWebアプリの「バックボーン」です。私が知っていることから、その主な資産は、2つのホスト間の「相互作用」のサービスを処理するルーティングシステムの提供です。Sailsなど、それに代わる方法はたくさんあります。


2

Express.jsはノードに使用されるフレームワークであり、ノードjsのWebアプリケーションとして最も一般的に使用されます。

以下は、エクスプレスhttps://www.youtube.com/watch?v=QEcuSSnqvckでノードアプリをすばやくセットアップする方法に関するビデオへのリンクです


絶対初心者のための素晴らしい説明!
Ankit Pandey

0

TJ Holowaychukによって作成され、現在コミュニティーによって管理されているExpress.js。これは、node.jsで最も人気のあるフレームワークの1つです。Expressは、WebアプリケーションやRESTful APIなどのさまざまな製品の開発にも使用できます。詳細については、expressjs.com公式サイトをご覧ください。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.