无法在nodejs中导入车把文件

Unable to import handlebar file in nodejs

我无法在 nodejs 中导入 handlebars 文件。虽然它正在导入文件,但未使用给定数据正确编译。

这是我的 test.handlebars 文件代码

<div>Hey {{firstname}} {{lastname}}</div>

这是我的 index.js 文件代码

const Handlebars = require("handlebars");
const testEmailTemplate = require("./email-templates/test.handlebars")
const template = Handlebars.compile(testEmailTemplate());

console.log(template({ firstname: "Nils", lastname: "Test" }));

我在控制台中的输出低于此值

<div>Hey</div>

预期输出

<div>Hey Nils Test</div>

注意:- 我不想使用 express-handlebar,所以请建议一些仅使用车把的解决方案。

require() 方法期望得到一个 Node.js 模块。但在您的情况下,目标文件是 HTML,您需要以纯文本形式获取文件内容才能进一步使用它。用于 fs 模块及其方法 fs.readFile() or fs.readFileSync()

结果代码应如下所示:

const fs = require("fs");
const Handlebars = require("handlebars");
const testEmailTemplate = fs.readFileSync("./email-templates/test.handlebars", "utf-8")
const template = Handlebars.compile(testEmailTemplate);

console.log(template({ firstname: "Nils", lastname: "Test" }));

信息:What is require?