イントロへのイントロ
ここのビデオプレイリストを表現するために私のイントロを見てください:
エクスプレスとノードWebサーバ生態系とは
Webサーバの作成に関しては、ノード生態系にフレームワークはない.これは、カスタマイズとしての柔軟性の多くを与える最小限の独断的なフレームワークです.あなたが最小のフレームワークを楽しむならば、Expressjsはノードが提供しなければならない唯一のオプションでありません.. 公案 可憐な ポルカ メルヴァー(私自身の創造) あなたがより堅牢なレール/ジャンゴのような経験を探しているなら、ノードもあなたをカバーしています! 防災研 発泡体 帆 ループバック 特別なユースケースのための他の楽しいフレームワークとともに. アポロ( graphql apis ) Socketio (チャットのようなリアルタイムアプリケーションの場合)
エクスプレスから始める
NodeJSでできるノードとNPMをインストールしたと仮定します.org
開始するには、ワークスペース上の任意の場所に空のフォルダを作成し、そのフォルダ内のターミナルを開き、次の手順を実行します. 我々のウェブフレームワーク NodeMon :ファイルを実行し、プロジェクトのファイルを監視するコマンドは、ファイルの変更があるときに再起動します. 次のフォルダを作成しましょう.Gitignoreファイルを我々はgithubに特定のものをプッシュしないことを確認します.ファイルには.
スクリプトが端末タイプでセットアップされました
ブラウザを開いてhttp://localhost:3000 そして、あなたは「得ることができません/」を見るでしょう、これはあなたのサーバーが走っていることを意味します.これが意味するのは、“/”の“get”ルートを定義していないことです.
あなたのサーバが実行している間、それはリクエストを聞いています、そして、それはあなたがHTTP動詞(GET)と終点(/)にマッチすると定義するルートを探します.残念ながら、我々はまだすべてのルートを定義していない!それをしましょう.
…に行く.
…に行く.
あなたができる他のこと
次の手順を学ぶには、Expressドキュメントを参照してください. Expressを使用してHTMLのような静的なファイルを提供します.静的 レスポンスを使用してテンプレートをレンダリングします.あなたの選択のテンプレート言語(EJS、パグ、ハンドルバー、口ひげ、エクスプレス反応ビュー)でレンダリング ミドルウェアを使用してリクエスト本文を解析します.urlcode () ルータでルートのクラスタを作成します. また、このポストの初めにリンクされた私のExpressプレイリストからこのすべてを学ぶことができます.
テンプレート
ここではいくつかのテンプレートを使用することができます.
EJSテンプレートで表現する
エクスプレスとノードWebサーバ生態系とは
Webサーバの作成に関しては、ノード生態系にフレームワークはない.これは、カスタマイズとしての柔軟性の多くを与える最小限の独断的なフレームワークです.あなたが最小のフレームワークを楽しむならば、Expressjsはノードが提供しなければならない唯一のオプションでありません..
エクスプレスから始める
NodeJSでできるノードとNPMをインストールしたと仮定します.org
開始するには、ワークスペース上の任意の場所に空のフォルダを作成し、そのフォルダ内のターミナルを開き、次の手順を実行します.
npm init -y
これはパッケージを作成します.今のところ、依存関係やスクリプトを追跡する主な目的があります.では、ライブラリの最初のセットをインストールしましょう.npm i express nodemon
/node_modules
.env
サーバというファイルを作成します.以下のJS.//BRING IN EXPRESS
const express = require("express")
//CREATE EXPRESS APPLICATION OBJECT
const app = express()
//PORT THE SERVER WILL LISTEN ON
const PORT = process.env.PORT || 3000 //use environment variables and if not, 3000
//OUR SEVER LISTENER, SHOULD ALWAYS BE AT THE BOTTOM
app.listen(PORT, () => {
console.log(`Listening on port ${PORT}`)
})
当社のサーバーのスケルトンが作成され、我々のパッケージ内のいくつかのスクリプトを作成しましょう.JSON"scripts": {
"start": "node server.js",
"dev": "nodemon server.js"
}
何らかの理由でnodemonが何らかの問題を起こすなら、回避策はdevスクリプトをnpx nodemon server.js
.スクリプトが端末タイプでセットアップされました
npm run dev
devスクリプトを実行するにはあなたのサーバが動いていることを意味しているあなたの端末で「ポート3000を聞く」ことを見るべきです!ブラウザを開いてhttp://localhost:3000 そして、あなたは「得ることができません/」を見るでしょう、これはあなたのサーバーが走っていることを意味します.これが意味するのは、“/”の“get”ルートを定義していないことです.
あなたのサーバが実行している間、それはリクエストを聞いています、そして、それはあなたがHTTP動詞(GET)と終点(/)にマッチすると定義するルートを探します.残念ながら、我々はまだすべてのルートを定義していない!それをしましょう.
//BRING IN EXPRESS
const express = require("express")
//CREATE EXPRESS APPLICATION OBJECT
const app = express()
//PORT THE SERVER WILL LISTEN ON
const PORT = process.env.PORT || 3000 //use environment variables and if not, 3000
//ROUTES DEFINED BY A FUNCTION NAMED AFTER THE VERB ITS RESPONDING TO
//Takes a string for the endpoint, and a callback to define handling
app.get("/",(request, response) => {
response.send("Hello World") //Sending back a text response
})
//THIS ROUTE HAS A URL PARAM, VARIABLE IS NOTED WITH A COLON
app.get("cheese/:param", (request, response) =>{
const {params, query} = request //Destructuring URL params and URL queries from request object
response.json({params, query}) // Sending a JSON Response
})
//OUR SEVER LISTENER, SHOULD ALWAYS BE AT THE BOTTOM
app.listen(PORT, () => {
console.log(`Listening on port ${PORT}`)
})
これらの変更を保存した後、端末のNodeMonに通知します.今、これらを試してみましょう!…に行く.
http://localhost:3000/
文字列は"Hello World "…に行く.
http://localhost:3000/cheese/thisisaparam?this=is&a=query
Paramとqueryオブジェクトを持つオブジェクトが表示されるはずですあなたができる他のこと
次の手順を学ぶには、Expressドキュメントを参照してください.
テンプレート
ここではいくつかのテンプレートを使用することができます.
EJSテンプレートで表現する
npx merced-spinup expressejs projectName
エクスプレスエクスプレスエクスプレスnpx merced-spinup expressreact projectName
安心のためのエクスプレスnpx merced-spinup expressrest projectName
エクスプレスエクスプレスで見るnpx create-ervmongo-app projectName
エクスプレスAPInpx merced-spinup expressmongo projectName
PostgresでAPIを表現するnpx merced-spinup expresspg projectName
Reference
この問題について(イントロへのイントロ), 我々は、より多くの情報をここで見つけました https://dev.to/alexmercedcoder/intro-to-expressjs-2la2テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol