1)Express.jsとは何ですか?
Express.jsはNode.jsフレームワークです。これは現在最も人気のあるフレームワークです(NPMで最もスターが付けられています)。
。
これは、Connectミドルウェアの構成ときめ細かいシンプルさを中心に構築されています。 Express.jsをRubySinatraと比較し、かさばる意見のあるRubyonRailsと比較する人もいます。
2)Node.jsでの目的は何ですか?
同じコードを何度も繰り返す必要がないこと。 Node.jsは、HTTPモジュールを備えた低レベルのI/Oメカニズムです。 HTTPモジュールを使用するだけの場合、ペイロード、Cookieの解析、セッションの保存(メモリ内またはRedis内)、正規表現に基づいた適切なルートパターンの選択など、多くの作業が必要になります。 再実装されます。 Express.jsを使用すると、それを使用することができます。
3)なぜ実際にExpress.jsが必要なのですか? Node.jsで使用するとどのように役立ちますか?
最初の答えはあなたの質問に答えるはずです。いいえの場合は、プレーンなNode.js(つまり、コアモジュールのみを使用)で小さなREST APIサーバーを作成してから、Express.jsで作成してみてください。後者の場合、時間とコード行が5〜10分の1になります。
Redisとは何ですか? Express.jsに付属していますか?
Redisは、高速で永続的なKey-Valueストレージです。オプションで、Express.jsとのセッションを保存するために使用できますが、その必要はありません。デフォルトでは、Express.jsにはセッション用のメモリストレージがあります。 Redisは、メールジョブなどのキューイングジョブにも使用できます。
Express.jsを使用したRESTAPIサーバーに関するチュートリアルを確認してください。
MVCですが、単独ではありません
Express.jsはない model-view-controllerフレームワーク自体。 MongoDB用のMongoose、SQLデータベース用のSequelize(http://sequelizejs.com)、多くのデータベース用の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スター)のレベルを比較できるようになりました。
フルスタック:
-
http://sailsjs.org
-
http://derbyjs.com/
ただのRESTAPI:
- http://mcavage.github.io/node-restify/
Ruby on Railsのようなもの:
-
http://railwayjs.com/
-
http://geddyjs.org/
シナトラのように:
- http://expressjs.com/
その他:
-
http://flatironjs.org/
-
https://github.com/isaacs/npm-www
-
http://frisbyjs.com/
ミドルウェア:
- http://www.senchalabs.org/connect/
静的サイトジェネレータ:
-
http://docpad.org
-
https://github.com/jnordberg/wintersmith
-
http://blacksmith.jit.su/
-
https://github.com/felixge/node-romulus
-
https://github.com/caolan/petrify