Nodejs Expressフレーム入門
26190 ワード
ノードのインストール
グローバルパスとキャッシュパスを設定します.
キャッシュ:npm config set cache「D:\web\Prograam ufilesodejsodeucache」
大域:npm config set prefix「D:\web\Programe ufilesodejsodebal」
npm config ls(-l)
紹介する
Nodejs Expressはnodeのウェブ開発フレームで、以下の特徴があります.
Uopinionation
設計モードの適用は制限されません(MVC、MVP)
コード仕様を制限しない
機能の選択を制限しない(View層を含むかどうかHTMLページを生成する)
本教程では、GET、POST、PUT、DELETE要求をexpressで処理するプレゼンテーションを行います.routerを使ってサブルーティングを定義します.データベースには関係ありません.
操作
準備工作
expressプロジェクトを作成して、nodejsプロジェクトを初期化します.
locathostは本機の住所を代表して、この時expressサービスはすでに起動しましたが、今は何もできません.
このウェブサイトをブラウザで開くと、
これはプログラムがまだ処理されていないからです.
GET要求を処理する
次に簡単なGET要求を処理するプログラムを作成します.
POST要求を処理する
同じように、POSTの要求を処理する方法を編纂します.
postmanを開いて、私達が作成したexpressサーバアドレス
PUT要求を処理する
putはサーバ上のリソースを更新するために使用され、既存のリソースの一意の識別を知る必要があります.一般的にデータベースの
putメソッドを呼び出してput要求経路の後のコロンIDを作成するとルートパスの後の値が要求のパラメータとなり、IDという変数に割り当てられます.例えば
PUTを選択してください.パスは
DELETE要求を処理する
deleteはサーバのリソースを削除するために、putと同じように一意の識別が必要です.ここでdelete方法を使って、最後に204コードを返します.削除された要求を表します.
タブをコピーして、DELETEを選択して、bodyを削除します(チェックボックスはnoneを選択します).
sendをクリックして、204の状態コードが戻ってきました.
端末も要求パラメータをプリントアウトしました.
ルートの例を作成
一つのexpressプロジェクトに対して、多くのグループのappiがあります.
記事/post
製品/プロジェクト
オーダー/order
サブルーティング処理に割り当て、ここでは記事を例にPOSTのルーティングをシミュレートする.
routesフォルダを作成し、中にpost.jsファイルを新規作成します.
expressを導入して、サブルーティングを処理するためのrouteのインスタンスを作成します.
次にap.jsの4つの要求処理コードをpost.jsにコピーし、apをrouteに変えて、文字を少し変えます.
プロジェクトには複数のサブルートがあるので、ap.jsファイルがあまりにも巨大でないように、ルーティングを統一的に処理するためのINdex.jsを新設し、サブルートを導入して関数を導出し、apオブジェクトを受信し、サブルーティングをマウントすることができます.
グローバルパスとキャッシュパスを設定します.
キャッシュ:npm config set cache「D:\web\Prograam ufilesodejsodeucache」
大域:npm config set prefix「D:\web\Programe ufilesodejsodebal」
npm config ls(-l)
紹介する
Nodejs Expressはnodeのウェブ開発フレームで、以下の特徴があります.
Uopinionation
設計モードの適用は制限されません(MVC、MVP)
コード仕様を制限しない
機能の選択を制限しない(View層を含むかどうかHTMLページを生成する)
本教程では、GET、POST、PUT、DELETE要求をexpressで処理するプレゼンテーションを行います.routerを使ってサブルーティングを定義します.データベースには関係ありません.
操作
準備工作
expressプロジェクトを作成して、nodejsプロジェクトを初期化します.
mkdir express-hello-world
cd express-hello-world
yarn init -y
yarn add express
code-insiders - // vscode
vscodeを開いて、app.jsファイルを作成します.// express ,
const express = require("express");
const app = express();
//
const port = 3000;
// listen ,
app.listen(port,() => {
console.log(`Express server listening at http://localhost:${port}`);
})
作成が完了したら、端末を開けて、入力コマンドnode app.js
がexpressサービスの起動に成功したらログExpress server listening at http://localhost:3000
が表示されます.locathostは本機の住所を代表して、この時expressサービスはすでに起動しましたが、今は何もできません.
このウェブサイトをブラウザで開くと、
cannot GET /
が表示されます.これはプログラムがまだ処理されていないからです.
url
ルーティングとhttp
要求があります.GET要求を処理する
次に簡単なGET要求を処理するプログラムを作成します.
// get , ,
// ,
// , send ,
app.get("/",(req,res) => {
res.send("Hello World");
});
この時、クライアントを再起動すると、Hello World
が見えます.POST要求を処理する
同じように、POSTの要求を処理する方法を編纂します.
// Express 、
app.use(express.json());
app.post("/",(req,res) => {
console.log(" :",req.body);
res.status(201).send();
});
postmanを使用します.http://www.postman.comダウンロードpostmanを開いて、私達が作成したexpressサーバアドレス
http://localhost:3000
の左のオプションを入力してPOSTを選択し、body
を選択し、チェックボックスの部分はraw
を選択し、プルダウンメニュー選択json
は下のテキストボックスでサンプルデータを作成します.{
"name":"Cerelise"
}
sendボタンをクリックして、戻ってきた201の状態コードが少し待ってください.要求体をプリントアウトしたjsonのデータが見えます.PUT要求を処理する
putはサーバ上のリソースを更新するために使用され、既存のリソースの一意の識別を知る必要があります.一般的にデータベースの
id
で、クライアントがput要求を送信するとき、urlに識別パラメータを提供し、その後にexpressにおいて解析し、識別に応じてサーバのリソースを更新します.putメソッドを呼び出してput要求経路の後のコロンIDを作成するとルートパスの後の値が要求のパラメータとなり、IDという変数に割り当てられます.例えば
http://localhost:3000/3
、このときのidの値は3です.// req.params.id
// , 200
app.put("/:id",(req,res) => {
console.log(" ,id :",req.params.id);
console.log(" :",req.body);
res.send();
})
サーバーを再起動し、postmanでのテスト要求PUTを選択してください.パスは
http://localhost:3000/3
です.インスタンスを記入するかそれともjson形式ですか?{
"name":"Trump"
}
送信をクリックして200のステータスコードを返して端末に戻ると、IDの値と要求体のjsonデータが表示されます.DELETE要求を処理する
deleteはサーバのリソースを削除するために、putと同じように一意の識別が必要です.ここでdelete方法を使って、最後に204コードを返します.削除された要求を表します.
app.delete("/:id", (req,res) => {
console.log(" ,id :",req.params.id);
res.status(204).send();
})
サービスを再起動し、postmanを使ってテストを行います.タブをコピーして、DELETEを選択して、bodyを削除します(チェックボックスはnoneを選択します).
sendをクリックして、204の状態コードが戻ってきました.
端末も要求パラメータをプリントアウトしました.
ルートの例を作成
一つのexpressプロジェクトに対して、多くのグループのappiがあります.
記事/post
製品/プロジェクト
オーダー/order
サブルーティング処理に割り当て、ここでは記事を例にPOSTのルーティングをシミュレートする.
routesフォルダを作成し、中にpost.jsファイルを新規作成します.
expressを導入して、サブルーティングを処理するためのrouteのインスタンスを作成します.
次にap.jsの4つの要求処理コードをpost.jsにコピーし、apをrouteに変えて、文字を少し変えます.
const express = require("express");
const route = express.Router();
// GET
route.get("/",(req,res) => {
res.send({ id: 1, title: 'express ·'});
});
// POST PUT ,
app.post("/",(req,res) => {
console.log(" :",req.body);
res.status(201).send({ id:2,...req.body });
});
route.put("/id",(req,res) => {
console.log(" , id :",req.params.id);
console.log(" , :",req.body);
res.send({id:req.params.id, ...req.body});
})
route.delete("/:id", (req,res) => {
console.log(" , id :",req.params.id);
res.status(204).send();
})
//
module.exports = route;
最後に、メインルート(ap.js)で導入し、そして/POSTにマウントして、サブルーティングに割り当てます.// express ,
const express = require("express");
const app = express();
//
const port = 3000;
const post = require("./routes/post");
app.use(express.json());
app.use("/post",post)
routes(app);
app.get("/",(req,res) => {
res.send("Hello World");
});
app.post("/",(req,res) => {
console.log(" :",req.body);
res.status(201).send();
});
app.put("/id",(req,res) => {
console.log(" ,id :",req.params.id);
console.log(" :",req.body);
res.send();
})
app.delete("/:id", (req,res) => {
console.log(" ,id :",req.params.id);
res.status(204).send();
})
// listen ,
app.listen(port,() => {
console.log("Express server listening at http://localhost:${port}");
})
サービスを再起動して、POSTの要求をテストします.プロジェクトには複数のサブルートがあるので、ap.jsファイルがあまりにも巨大でないように、ルーティングを統一的に処理するためのINdex.jsを新設し、サブルートを導入して関数を導出し、apオブジェクトを受信し、サブルーティングをマウントすることができます.
const post = require("./post");
moudle.exports = (app) => {
app.use("/post",post);
};
後はap.jsにroutesフォルダを導入するだけです.routes(app);