express.js をインストールします
npm がインストールされている場合、インストールは非常に簡単です。ターミナルで次のコードを実行するだけです:
-g は NODE_PATH のライブラリにインストールすることを意味し、-d は依存関係パッケージも一緒にインストールすることを意味します。 -g がない場合は、現在のディレクトリがインストールされます (node_modules フォルダーが作成されます)。次のコマンドを使用して 2 つの違いを比較できます:
npm がない場合は、github を使用して最新の Express を git ダウンロードできます。
これで、express testapp を通じて Express インスタンスを作成できるようになりました。以下に例を示します:
このようにして、testappのnodejsアプリケーションが作成され、app.jsがデフォルトのアプリケーションmain jsになります。 app.js のさまざまな構成について詳しく説明します。
モジュールの紹介
require() は、node.js によって提供される関数で、他のモジュールを導入してモジュールの関数と変数を呼び出すことができます。デフォルトでは、node.js は $NODE_PATH と次の node_modules フォルダーでモジュールを検索します。 js が存在する現在のディレクトリ。 requireは自分で書いたモジュールを読み込むのにも使えますよ~ これにはnode.jsのモジュールの仕組みが関係しますが、これについては機会があれば紹介します。
2行目のexpress.createServer()はサーバーの構築を行うもので、途中のmodule.exportsには後述するnode.jsのモジュール機構も関係しています。
express の app.js の詳細な構成手順
express.js は接続モジュールから継承するため、node_modules フォルダーに接続モジュールが存在しない場合は機能しません。
ビューのパスとテンプレートを設定します
次の 2 行を見てみましょう:
上の2行はviewsフォルダ、つまりテンプレートフォルダを設定するためのものです。__dirnameはnode.js内のグローバル変数で、実行されたjsを取得するパスです。また、__filenameはその名前です。現在実行されているjsファイル。したがって、 app.set(‘views’, __dirname ‘/views’); はビューが設定されるフォルダーです。
app.set('view Engine', 'jade'); は、express.js で使用されるレンダリング エンジンを設定します。 Jade に加えて、express.js は、EJS (埋め込み JavaScript)、Haml、CoffeScript、jQuery テンプレートなどの js テンプレートもサポートしています。
アプリの使用構成
express.bodyParser() は Connect の組み込みミドルウェアであり、この設定を設定すると、クライアントによって送信された POST リクエストを request.body に入れることができます。
express.methodOverride() も Connect に組み込まれており、PUT、DELETE、その他の HTTP メソッドに偽装された POST リクエストの処理に役立ちます。
app.router() はルートリクエストですが、express.js の公式ドキュメントにはこの文は不要と書かれており、テストしたところその通りですが、まだ書かれています。
express.static() は、css、js、img ファイルなどの静的リクエストを処理する Connect の組み込みミドルウェアでもあります。そのため、static()で指定したフォルダ内のファイルが直接静的リソースとして吐き出されます。
app.configure 設定
express.errorHandler() is Connect’s built-in middleware to help handle exceptions. This also reveals the first usage of app.configure(). The first parameter is the environment setting of node.js, so that we can set different levels of dump in different execution environments. PS: node.js obtains environment settings through the NODE_ENV environment variable. e.g.: In the command line, NODE_ENV=production node app.js can enter the production environment.
Routing and request processing
ok, here is the content of nodejs processing request:
The above code means that when the get request root directory is called, the index template in the views folder is called, and the incoming parameter title is "Express". This title can be used directly in the template file.
To handle post requests in express, you need to use app.post(). Such as the following code:
We mentioned earlier that req.body is the result of express.bodyParser() processing the POST parameters.
In addition to the get and post methods, there is also app.all(), which means all request processing.
Add listen and start the nodejs server
So far, we have basically understood the express configuration, and we will not write hello world with others like before without knowing the meaning of each line of code.
Reprinted from JS8.IN ™