Express のプログラムを ES6 の構文で記述する方法
CommonJSで記述する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の記述で実行できるかと。