Node.jsのフレームワーク「Express」とは【初心者向け】
初心者向けにNode.jsのMVCフレームワークである「Express」とは何か詳しく解説しています。大量のトラフィックを捌くサービス開発に向いています。Expressの使い方も記載しているので、そちらも参考にしてみてください。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Node.jsでExpressを使う方法を解説します。
Node.jsのMVCフレームワークとして人気なExpressとは何なのか、Expressをインストールする流れを紹介しているので、ぜひ知っておきましょう。
Node.jsを使う企業ではExpressをフレームワークとして使っているケースも多いので、Node.jsのエンジニアになりたい人は実際にインストールして使ってみると良いでしょう。
なお本記事は、TechAcademyのNode.jsオンライン講座の内容をもとに作成しています。
今回はExpressについて紹介しよう。
田島メンター!Expressというのは何ですか~?
Expressはnpmでインストールできるパッケージのひとつなんだ。まずはどういう役割を持ったものなのかというところから見ていこう。
了解です!
目次
Node.jsのExpressとは
Node.jsのExpressとは、Node.jsで利用できるWebアプリケーションフレームワークです。Webアプリケーションとは、インターネット上で利用するサービスを動かすシステムです。
フレームワークとは、システム開発時によく使う機能や設計などを予め用意してあるアプリケーションです。つまり、Webアプリケーションを開発する上では、より短いプログラムで効率よく開発することができます。
Ruby言語のRuby on Railsというフレームワークを聞いたことがある人は多いかと思いますが、Expressは、このRuby on Railsと同じ立ち位置と考えて良いでしょう。
Webアプリケーションを作る上で必要な機能が備わっているので、実際の開発現場でもNode.jsを採用している企業はExpressを使っていることも多いです。
Express公式ページで最新情報を確認することができます。
Node.jsでWebアプリケーションを作成するときに便利なのが、Expressというパッケージなんだ。
なるほど、Ruby on Railsのようなものということでしょうか。
それでは実際に、Expressのインストールを行ってみよう。
Expressの使い方
Expressをインストールする方法
Expressをインストールするには、npmを使用します。
npmとは何か概要をまとめた記事もあるので、合わせて参考にしてみてください。
Expressインストールコマンド
npm install express --save
解説
「npm install express」でExpressをインストールする事が可能です。
–saveとオプション記載することで、package.jsonにインストールした旨を記載できます。
Expressを実際に使ってみよう
初期設定を行う
コマンド
mkdir myapp cd myapp npm init
解説
1行目のmkdir myappでは、Expressの実装ファイルを入れるmyappディレクトリ(フォルダ)を作成しています。
2行目のcd myappでは、myappディレクトリに移動しています。
3行目のnpm initでは、myappで初期化処理をしています。
初期化後の処理にはnpm initの対話型コマンドでpackage.jsonを生成する必要があります。
Expressを実際にインストールする
コマンド
npm install express --save
解説
npm install express –saveでExpressをインストールします。
Expressで実装する
index.jpソースコード
var express = require('express'); var app = express(); app.get('/', function (req, res) { res.send('Hello World!'); }); app.listen(3000, function () { });
表示結果
Hello World!
解説
1行目のvar express = require(‘express’);では、expressをrequireで呼び出して、変数expressに代入しています。
2行目のvar app = express( );では、expressを変数appに代入することで初期化しています。
3行目のapp.get(‘/’, function (req, res) {では、appに代入されているexpressのgetメソッドを使用して、ルートパス(/)にアクセスされた際(req)、表示する処理を(res)しています。
4行目のres.send(‘Hello World!’);では、Hello World!を表示するために処理する(res.send)事を意味しています。
5行目の});では、3行目の処理を終了することを意味します。
6行目のapp.listen(3000, function ( ) {では、3000ポートにアクセスした場合に今回のアプリケーションが動作する実装をしています。
7行目の);では、6行目の処理を終了することを意味します。
Expressを実行する
コマンド
npm run server
解説
npm run serverをコマンドプロンプトで実行することでNode.jsサーバーが起動します。
起動後、Chrome等のブラウザで「http://localhost:3000」とアクセスすることで実行後の表示が可能となります。
Expressを学習できるサイト
ドットインストール
21個の動画コンテンツで学習ができます。
各動画3分くらいでまとめられているので、早ければ1時間ほどで理解することも可能です。テンプレートなどにも触りながらブログアプリケーションを開発する流れを説明しています。
Expressの基本的な理解をしたい人におすすめです。
Udemy
ドットインストールと同様動画の学習サイトになっています。
動画によっては有料のもの、英語コンテンツのものもあるので、自分の目的に合った動画を選んでみてください。
実際に手を動かしながら学ぶ動画が多いので、作りたいサービスがあったり実践的な内容を学びたい人におすすめです。
Expressを学習できる本
Node.js超入門
Node.js自体初めて触る人向けの書籍で、後半ではExpressを使って実際に機能やアプリケーションの開発を行います。Node.jsもExpressも一緒に理解したい人は、ぜひこの書籍から学習してみると良いでしょう。
実践Node.js入門
上記の書籍と比べると少しレベルが上がり、実践的な内容が多くなっています。
Node.jsやExpressの使い方を学んだら実際にアプリケーションを開発し、テスト、応用まで学ぶことができます。REST APIの作り方なども紹介しています。
Nodeクックブック
プログラミング言語を使って実務経験がある人向けの書籍です。
説明や用語など初心者にとっては難しいと感じる部分も多いかもしれませんが、小規模アプリをいくつも作りながら実力をつけることが可能です。
手を動かしながらExpressの使い方を理解していきたい人にはおすすめです。
まとめ
Node.jsでExpressを使う方法を解説しました。
Expressは実際の現場でも使われている技術なので、Node.jsを使った仕事をしたい人は覚えておきたいフレームワークになるでしょう。
Node.jsの学習サイトもまとめているので、合わせて参考にしてみてください。
この記事を監修してくれた方
中本賢吾(なかもとけんご) 開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。 |
Expressのインストールから動作の確認と、最後に学習方法もいくつか紹介したよ。
なんとかローカルで最初の画面を表示させることができました!
サーバーを起動させたときは、Ctrl+cで終了してからコマンドプロンプトを閉じるようにしようね。
分かりました。ありがとうございます!
また、オンラインのプログラミングスクールTechAcademyでは、Node.jsオンライン講座を開催しています。
Node.jsを使ってWebアプリケーションを開発することができます。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、習得することが可能です。