tech.chakapoko.com
Home / Node.js / Express

[Node.js][Express]pugテンプレート内にヘルパー関数をインポートする

app.locals オブジェクトを使ってテンプレート内に好きなオブジェクトを供給することができます。テンプレートでヘルパー関数を使いたい時に便利です。

サンプルコード

次のコードはテンプレート内で moment.js が使えるように moment オブジェクトを app.locals にセットする例です。

app.js

const express = require('express');

const app = express();

app.set('view engine', 'pug');

app.locals.moment = require('moment');

app.get('/', (req, res) => {
  res.render('index');
});

app.listen('3000', () => {
  console.log('Application started');
});

views/index.pug

html
  body
    span #{moment().format()}

動作確認

$ node app.js
$ curl http://localhost:3000
<html><body><span>2019-06-25T20:31:02+09:00</span></body></html>