EJS ビューでノード モジュール (MomentJS など) を使用するにはどうすればよいでしょうか? 質問する

EJS ビューでノード モジュール (MomentJS など) を使用するにはどうすればよいでしょうか? 質問する

views/custom.ejs で MomentJS を使用するには、正しい方法は何ですか (ある場合)?

  1. サーバ側

    ルート/インデックスなどを簡単に使用できrequire('moment');、正常に動作します。

  2. サーバー側 (EJS ビュー)

    views/custome.ejsのようなファイルは<% var m = require('moment'); %>動作しません

テンプレート エンジンとして EJS を使用した ExpressJS を使用しています。

ベストアンサー1

私はこれを行う別の方法を見つけましたが、それにはいくつか利点があると思います。

  • コードのエクスポート フィルターを汚染しないでください。
  • すべてのメソッドをエクスポートする必要なく、任意のメソッドにアクセスできます。
  • ejs の使用法が改善されました (| パイプなし)。

コントローラーまたは view.js で次の操作を実行します。

var moment = require('moment');
exports.index = function(req, res) {
    // send moment to your ejs
    res.render('index', { moment: moment });
}

これで、ejs 内で moment を使用できるようになります。

<html>
    <h1><%= moment().fromNow() %></h1>
</html>

私は Node の専門家ではないので、これを行う際に何か問題があった場合は、お知らせください。 :)

おすすめ記事