渲染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期望一个字符串。

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

 
posted @ 2020-06-15 11:53  全情海洋  阅读(695)  评论(0编辑  收藏  举报