渲染EJS模板会抛出错误this.templateText.replace不是函数

我正在尝试从文件中呈现一个EJS模板但是我收到一个错误this.templateText.replace is not a function

const http = require('http');
const fs = require('fs');
const ejs = require('ejs');

const server = http.createServer(function(req, res){
    fs.readFile('index.ejs', function(err, data) {
        if (err) {
            res.end("Error");
        }

        res.end(ejs.render(data, { title: "Hello" }));
    });
});

server.listen(4000);

事实证明, fs.readFile在回调data返回原始缓冲区,而ejs.redner期望一个字符串。

如果未指定编码,则返回原始缓冲区。

 
原文地址:https://www.cnblogs.com/fsg6/p/13130024.html