目次
2.1. ルートの下に GET リクエストを設定し、対応するコンテンツを返します。
2.2. ルートの下に POST リクエストを設定し、対応するコンテンツを返します。
2.3. ルートの下に PUT リクエストを設定し、対応するコンテンツを返します。
2.4. ルート ルートで DELETE リクエストを設定し、対応するコンテンツを返します。
2.5. ルート ルートで PAATCH リクエストを設定し、対応するコンテンツを返します。
1. アプリケーションビルダー
アプリ ビルダー ツールを使用して、 express-generator
アプリのスケルトンをすばやく作成します。
npx
コマンド (Node.js 8.2.0 で利用可能) を使用してアプリ ジェネレーターを実行できます 。
npx express-generator
以前の Node バージョンの場合は、app-generator をグローバル npm パッケージとしてインストールし、起動します。
npm install -g express-generator
express
実行が完了すると、次のようになります。
デフォルトのページテンプレートはjadeです
Express -h
コマンド オプションとオプション:
$ express -h
Usage: express [options] [dir]
Options:
--version 版本编号
-e, --ejs 增加ejs引擎支持
--pug 增加pug引擎支持
--hbs 增加handlebars 引擎支持
-H, --hogan 增加hogan.js引擎支持
-v, --view <engine> 增加视图引擎支持(dust|ejs|hbs|hjs|jade|pug|twig|vash) (defaults to jade)
--no-view 使用静态html而不是视图引擎
-c, --css <engine> 增加样式表引擎支持(less|stylus|compass|sass) (defaults to plain css)
--git 增加 .gitignore
-f, --force 强制非空目录
-h, --help 输出使用信息
次に、依存関係をインストールします。
cd myapp
npm install
コマンド ウィンドウで npm start を実行してプロジェクトを開始します。
npm start
デフォルトのインターフェースは 3000 です。ブラウザに http://localhost:3000/ と入力すると、ページは次のようになります。
2. 基本的なルーティング
ルーティングとは、特定のエンドポイントに対するクライアントのリクエスト (URI (またはパス) と特定の HTTP リクエスト メソッド (GET、POST など)) にアプリケーションがどのように応答するかを決定することを指します。
各ルートには、ルートが一致したときに実行される 1 つ以上のハンドラー関数を含めることができます。
ルート定義は次の構造を取ります。
app.METHOD(PATH, HANDLER)
app
express
のインスタンス です 。METHOD
小文字の HTTP リクエスト メソッドです
。PATH
サーバー上のパスです。HANDLER
ルートが一致したときに実行される関数です。
対応するルーティング方法:
- ACL
- 練る
- チェックアウト
- 接続
- コピー
- 消去
- 得る
- 頭
- リンク
- ロック
- エムサーチ
- マージ
- MKアクティビティ
- MKカレンダー
- MKCOL
- 動く
- 通知する
- オプション
- パッチ
- 役職
- プロフィンド
- プロパッチ
- パージ
- 置く
- リバインド
- 報告
- 検索
- ソース
- 購読
- 痕跡
- 解放する
- リンクを解除する
- ロックを解除する
- 購読を解除する
- acl
- 練る
- チェックアウト
- 接続
- コピー
- 消去
- 得る
- 頭
- リンク
- ロック
- m-検索
- マージ
- mkアクティビティ
- エムカロリー
- エムコル
- 動く
- 通知する
- オプション
- パッチ
- 役職
- プロファインド
- プロパッチ
- パージ
- 置く
- 再バインド
- 報告
- 検索
- ソース
- 購読
- 痕跡
- 解放する
- リンクを解除する
- ロックを解除する
- 購読を解除する
以下は、一般的に使用されるいくつかの方法で各ルートをテストする簡単な方法です。
2.1. ルートの下に GET リクエストを設定し、対応するコンテンツを返します。
app.get('/', (req, res) => {
res.send("这是一个GET请求,返回的结果!")
})
2.2. ルートの下に POST リクエストを設定し、対応するコンテンツを返します。
app.post('/', (req, res) => {
res.send("这是一个POST请求,返回的结果!")
})
2.3. ルートの下に PUT リクエストを設定し、対応するコンテンツを返します。
app.put('/', (req, res) => {
res.send("这是一个PUT请求,返回的结果!")
})
2.4. ルート ルートで DELETE リクエストを設定し、対応するコンテンツを返します。
app.delete('/', function(req, res, next) {
res.send("这是一个DELETE请求,返回的结果!");
});
2.5. ルート ルートで PAATCH リクエストを設定し、対応するコンテンツを返します。
app.patch('/', function(req, res, next) {
res.send("这是一个PATCCH请求,返回的结果!");
});
3. 静的ファイル
画像、CSS、JavaScript、HTML、フォント ファイルなどの一般的な静的ファイルと同様に、Express は処理用の組み込みミドルウェア関数 Express.static() を提供します。静的サーブに基づく
構文構造は次のとおりです。
express.static(root, [options])
注: パフォーマンスを向上させるには、リバース プロキシを使用してサーバーの静的リソースのパフォーマンスを向上させます。
root パラメータは、静的リソースのルート ディレクトリを指定します。
次の表では、オプション オブジェクトのプロパティについて説明します。
属性 | 説明 | タイプ | デフォルト |
---|---|---|---|
dotfiles |
ドット ファイル (ドット「.」で始まるファイルまたはディレクトリ) の処理方法を決定します。 | 弦 | "無視" |
etag |
etag 生成を有効または無効にする 注: 弱い ETag は常に送信されます。 express.static |
ブール値 | true |
extensions |
ファイル拡張子のフォールバックを設定する: ファイルが見つからない場合は、指定された拡張子を持つファイルを検索し、最初に見つかったファイルを提供します。例:。['html', 'htm'] |
混合 | false |
fallthrough |
クライアント エラーを未処理のリクエストとしてフォールスルーさせ、それ以外の場合はクライアント エラーを転送します。 | ブール値 | true |
immutable |
応答ヘッダーのディレクティブを有効または無効にします。有効にした場合、キャッシュを有効にするためにこのオプションも指定する必要があります。このディレクティブは、サポートされているクライアントが、ファイルが変更されたかどうかをチェックするオプションの存続期間中、条件付きリクエストを行うことを防ぎます。immutable Cache-Control maxAge immutable maxAge |
ブール値 | false |
index |
指定したディレクトリインデックスファイルを送信します。ディレクトリのインデックス作成を無効にするには、 に設定します。 | 混合 | 「インデックス.html」 |
lastModified |
ヘッダーをオペレーティング システム上のファイルの最終変更日に設定します。Last-Modified |
ブール値 | true |
maxAge |
キャッシュ制御ヘッダーの maxAge プロパティをミリ秒単位または ミリ秒形式の文字列で設定します。 |
番号 | 0 |
redirect |
パス名がディレクトリの場合は、末尾の「/」に続けてリダイレクトします。 | ブール値 | true |
setHeaders |
ファイルとともに提供する HTTP ヘッダーを設定する関数。 | 関数 |
public
たとえば、ディレクトリ内の画像、CSS ファイル、JavaScript ファイルは、次のコードを通じて公開できます 。
app.use(express.static('public'))
パブリック ディレクトリに HTML ファイルを作成します (例: test.html)。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
H5 页面
</body>
</html>
サービスを開始し、http://localhost:3000/test.html にアクセスします。
複数の静的リソース ディレクトリを使用する場合は、 express.static
ミドルウェア関数を複数回呼び出してください。
app.use(express.static('public'))
app.use(express.static('files'))
静的リソース ファイルにアクセスする場合、express.static
ミドルウェア機能はディレクトリが追加された順序に従って必要なファイルを検索します。
現在、静的ファイルのディレクトリにプレフィックスを追加することもできます。例: static
app.use('/static', express.static('public'))
するとアクセスアドレスは http://localhost:3000/static/test.html になります。