Bye Bye Moore

PoCソルジャーな零細事業主が作業メモを残すブログ

express4で404ページを出す

express4でも、404ページを出す事ができます。
というか、statusが指定できるので503だの何だの設定されてる奴は一通り行ける感じです

実際のところ

404コードを吐いた場合に単にテキストを出すだけなら、以下の通り。

app.use(function(req, res, next) {
  res.status(404).send('Sorry cant find that!');
});

ファイルをレンダリングしたい場合はsendFileです。
絶対パスじゃないと動作しないので、"../"だの"~/"だのは使えません。
やらかすと、ご丁寧にも"TypeError: path must be absolute or specify root to res.sendFile*1というエラーメッセージを吐いてくれます。

app.use(function(req, res, next) {
  res.status(404).sendFile('/absolute/path/to/404.png');
});

*1:意訳:絶対パスメソッド指定のルートで指定せぇ