无法在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" }));
我无法在 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" }));