无法在nodejs中导入车把文件

时间:2021-02-27 16:16:13

标签: node.js handlebars.js

我无法在 nodejs 中导入把手文件。虽然它正在导入文件但没有使用给定的数据正确编译。

这是我的 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,所以请建议一些仅使用把手的解决方案。

1 个答案:

答案 0 :(得分:1)

require() 方法期望获得一个 Node.js 模块。但在您的情况下,目标文件是 HTML,您需要以纯文本形式获取文件内容以进一步使用它。用于该 fs 模块及其方法 fs.readFile()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?

相关问题