重构 Express-Handlebars 辅助函数以分隔文件
refactor Express-Handlebars helper functions to separate files
我使用 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;
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
}
});
我使用 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;
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
}
});