我使用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个文件。
如何从外部文件注册帮助程序?有人可以给我一个例子吗?
答案 0 :(得分:2)
尝试在每个帮助程序中创建一个模块,例如在helpers
文件夹中:
助手/ foo.js:
var foo = function () {
return 'FOO!';
}
module.exports = foo;
助手/ bar.js:
var bar = function () {
return 'BAR!';
}
module.exports = bar;
app.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
}
});