コンテンツにスキップ

Express/Express 5の主な変更点

出典: フリー教科書『ウィキブックス(Wikibooks)』

Express 5の主な変更点

[編集]

非同期エラーハンドリング

[編集]
// Promise rejectionを自動的にcatchし、エラーハンドラへ渡す
app.get('/users', async (req, res) => {
  const users = await User.find(); // エラーは自動的にキャッチされる
  res.json(users);
});

ルーティングの改善

[編集]
// 複数のルートハンドラをチェーン
app.get('/users')
  .handler([validateUser, getUser])
  .post('/users')
  .handler(createUser);

ミドルウェアの変更

[編集]
  • express.json()express.urlencoded()のデフォルト最大サイズ制限
  • 非推奨だったres.sendfileの削除

セキュリティ強化

[編集]
app.use(express.json({
  strict: true,
  limit: '1mb',
  type: 'application/json'
}));

その他の変更点

[編集]
  • Node.js 14.x以上が必要
  • Express 4からの移行ツール提供
  • router.use()のマウントパス処理の改善
  • テンプレートエンジンの非同期レンダリングサポート