javascript - 重构 Express-Handlebars 辅助函数以分隔文件

标签 javascript node.js express express-handlebars

我使用 Express-Handlebars 并想重构此代码示例以分隔文件

    const express = require('express');
    const exphbs = require('express-handlebars');

    const handlebars = exphbs.create({
        defaultLayout: 'index',
        extname: 'hbs',
        helpers: {
          foo: function () { // first helper
            return 'FOO!';
          },
          bar: function () { // second helper
            return 'BAR!';
          } 
          //, nth helper ...
        }
    });

原因是为什么要将所有 HTML 逻辑放入 app.js 文件中。我想为 1 个助手准备 1 个文件。

如何从外部文件注册助手?有人可以给我举个例子吗?

最佳答案

尝试为每个助手创建一个模块,例如在 helpers 文件夹中:

helpers/foo.js:

var foo = function () {
    return 'FOO!';
}

module.exports = foo;

helpers/bar.js:

var bar = function () {
    return 'BAR!';
}

module.exports = bar;

应用程序.js:

const express = require('express');
const exphbs = require('express-handlebars');
const foo = require('helpers/foo');
const bar = require('helpers/bar');

const handlebars = exphbs.create({
    defaultLayout: 'index',
    extname: 'hbs',
    helpers: {
      foo: foo,
      bar: bar 
    }
});

关于javascript - 重构 Express-Handlebars 辅助函数以分隔文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48282626/

相关文章:

javascript - 数据库事务并行发生,而不是循环中顺序发生

javascript - 从服务器端到客户端的密码确认(表单验证)

node.js - 使用 GetStream.io 和 firebase 正确的用户创建流程?

node.js - 在 Node 中使用express连接多个log4jsappender

javascript - 使用新参数创建已创建函数的副本?

javascript - 如何找出 Javascript 数组中元素的数量?

javascript - 使用 Javascript 对文件的处理永远不会完成

node.js - 413 请求实体太大 nginx/1.14.0

node.js - 找不到模块 'hbs',express-handlebars

node.js - res.redirect() 在 node.js 中不适合我