Express に Body-Parser が内蔵されていた

Express の v4.16.0 以降では、body-parser パッケージが Express 本体に同梱されているようだ。

コレまでは require('body-parser') していたところが、次のような記述で済む。

import express from 'express';

const app = express();

// ↓ ココで body-parser 不要
app.use(express.json());
app.use(express.urlencoded({ extended: false }));

上の例は TypeScript。import express で解釈できるようにするには、tsconfig.json で次のオプションを指定する。

{
  "compilerOptions": {
    // import express from 'express'; と書けるようにするには以下2つを書く
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true
    
    // 他、省略…
  }
}

別に素の Node.js でも同じ。

依存パッケージとして記述するモノが一つ減らせてよきよき。