イガブロ

プログラミングやIT技術、学んだこと日々感じたことを雑に書いてくブログです。

Express のプログラムを ES6 の構文で記述する方法

CommonJSで記述するExpress のプログラムを ES6 の構文で記述する方法を紹介。

ExpressをES6公文で記述する方法

ブラウザの大きさに驚くおじさん

概要

ExpressはNode.jsで上で動作するのでCommonJSでの記述になるが、ES6の記述で記述したいと思ったのでその方法のメモ。

ES6で記述する理由

動作的にはCommonJS形式で記述しても問題はないが、Express以外の部分がES6なので、統一したいと思った。(ES6とCommonJSが混在しているのは保守性や可読性の観点からできるだけ避けたいと思った)

const express = require('express')

↑のCommonJSの記述を↓のようにSE6の記述に変えたい。

import express from 'express';

バージョン

Node.js

v14.16.1

npm

6.14.12

Babelを使う

手段の一つとしてBabelを選択。理由としては導入が簡単なイメージがあったため。

Babelとは

Babel is JavaScript変換ライブラリ
Babelを使用してES6で記述されたプログラムをNode.jsで実行できるようにする。

使い方

Babelパッケージの@babel/nodeをインストールする。
インストールすれば、babel-nodeコマンドが利用できる。

Babelのインストール

以下のコマンドでbabelを導入する。

npm install @babel/core @babel/node @babel/preset-env -D

以下のコマンドでbabelを導入する。

{ "presets": [ "@babel/preset-env" ] }

babel-nodeを実行する

babel-node コマンドでES6で記述されたExpressのプログラムを実行できるが、グローバルインストールしていないと実行できないのでpackage.jsのscriptsを利用してnpm runすると楽に実行できる。

package.jsonに以下を追加。

"scripts": {
    “babel node":"babel-node app.js"
}

実行コマンドもnpm runで統一する方がいいかなと個人的に思うので、Scriptsに記載がいいかなと。上記を記載した場合は以下コマンドを実行してExprssを実行させる。

npm run babel-node

これでExpressをES6の記述で実行できるかと。