Javascript Mustache 代码模板无效

Javascript Mustache invalid template on code

我正在开发一个应用程序,我已经通过 npm 安装了 mustache。

然后在我的 main.js 文件中,我这样导入它:

const Mustache = require('mustache')

然后我有一个 html 模板文件:

<title>{{ title }}</title> 在 html 文件的磁贴部分。

然后我使用节点加载了模板文件并尝试运行渲染。

代码如下:

fs.readFile('template.html', (err, data) => {

  var mydata = Mustache.render(data, {title: "sometitle"});

  fs.writeFile('result.html', mydata, (err) => {

    if (err) throw err;
    console.log('The file has been saved!');

  });

}); 

我不断收到此错误:

类型错误:模板无效!模板应该是 "string" 但 "object" 被作为 mustache#render

的第一个参数

如何解决此问题以便更改并保存结果?

正如您在此处看到的:node doc 如果您未指定编码,则回调将接收原始缓冲区;如果你想要一个字符串,只需添加一个编码(假设它是 UTF-8 格式的文件):

fs.readFile('template.html', 'utf8', (err, data) => {
  var mydata = Mustache.render(data, {title: "sometitle"});
  fs.writeFile('result.html', mydata, (err) => {
    if (err) throw err;
      console.log('The file has been saved!');
  });
});