リード文
【目次】
前提条件
- Node.jsをインストール済み
- npmをインストール済み
インストール
まず、プロジェクトのディレクトリに移動します。
cd express-project
次に、npmを初期化します。
npm init -y
※ -y を追加することで面倒で不要な操作を省略できます。
次に、Expressをインストールします。
npm i express
これでインストール完了です。
起動する
起動するために以下の手順を進めてください。
まず、index.jsを作成します。
const express = require('express');
const app = express();
app.get('/', (req, res) => {
return res.status(200).json({
message: 'Hello World!',
});
});
// run server
const PORT = 3000;
app.listen(PORT, function () {
console.log(`Server is running on port ${PORT}`);
});
さらに、package.jsonのscriptsにstartコマンドを追記します。
"start": "node index.js"
これでpackage.jsonは以下のようになります。
{
"name": "foo",
"version": "1.0.0",
"description": "foo",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js"
},
"keywords": [],
"author": "",
"license": "ISC",
"dependencies": {
"express": "^4.19.2"
}
}
npm start
で起動します。
npm start
これで、localhost:3000
にアクセスすると、”message”: “Hello, world!” が表示されるはずです。
おまけ:便利な起動パッケージ nodemon
Expressで開発する際に便利なパッケージ nodemon
を紹介します。
nodemonはファイルの変更を検出すると、自動的にアプリケーションを再起動してくれるパッケージです。いわゆるホットリロードができるということですね。
つまり、コードを変更して Cmd + Sで保存したすると同時に、自動的にサーバーを再起動してくれます。
使い方
nodemonは開発時にだけ使うツールのため、dev環境にインストールします。
npm i nodemon --save-dev
そして、`package.json` にscriptsとして下記のように追加します。
ここではdevコマンドとして "dev": "nodemon index.js" を追加します。
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1",
"start": "node index.js",
"dev": "nodemon index.js"
},
これで、下記のように npm run dev コマンドでnodemonによるホットリロードを実行できます。
npm run dev
これでファイルを変更するたびに自動的に再起動してくれるようになります。
実際にデプロイする本番環境では npm start コマンドを起動コマンドとして設定すればOKです。