首页 > 解决方案 > 如何从渲染 html Sails js 创建文件

问题描述

试图制作一个呈现为 ejs 的文件我该怎么做

let makeFile = res.view('file.ejs',{result:result});

fs.writeFile(sails.config.myconf.path+'file.xml', makeFile, function (err, result) {
    if(err){
        console.log(err)
        return
    }
});

尝试这种方式总是不确定的,任何人都可以理解为什么这会导致问题提前感谢一吨

标签: node.jssails.jsejs

解决方案


res.view真的是在你的方法结束时出现。它促进了res对象发送的返回,我认为它不会返回任何有用的东西。

您想要的很可能res.render- 您可以使用它来获取(然后使用)输出 html 作为字符串。

res.render('file.ejs', {result: result}, function(err, renderedHtml) {
    if (err) { /* handle the error */ }

    // renderedHtml should be the html output from your template
    // use it to write a new file, or whatever is required
    console.log(renderedHtml);

    return res.send({fileCreated: true});
});

推荐阅读