NodeJS:如何将渲染视图保存为静态 .html 文件?
NodeJS : How to save a rendered view as a static .html file?
我在一个学校项目中使用 NodeJS,我必须生成一个带有 Express 和 swig 变量的动态 html 页面。但是问题来了:我必须将渲染的视图保存为静态 .html
文件。
我试图阅读有关 FS 的文档,但我没有找到关于获取整个 html 页面并将 html 代码放入文件中的任何内容。我找到的唯一方法是 "Right-click" 和 "save as" 但这不是我应该做的。
关于如何做到这一点有什么想法或建议吗?
如果您使用的是swig
模板引擎,那么我们需要先获取Swig模板的输出:
var swig = require('swig');
var template = swig.compileFile('/path/to/your/template.html');
var output = template({
foo: 'bar'
});
现在你有了输出,我们可以使用 fs
来保存 html:
var fs = require('fs');
fs.writeFile("/path/to/destination.html", output, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
旁注:Swig 不再维护并且存在安全漏洞。
我在一个学校项目中使用 NodeJS,我必须生成一个带有 Express 和 swig 变量的动态 html 页面。但是问题来了:我必须将渲染的视图保存为静态 .html
文件。
我试图阅读有关 FS 的文档,但我没有找到关于获取整个 html 页面并将 html 代码放入文件中的任何内容。我找到的唯一方法是 "Right-click" 和 "save as" 但这不是我应该做的。
关于如何做到这一点有什么想法或建议吗?
如果您使用的是swig
模板引擎,那么我们需要先获取Swig模板的输出:
var swig = require('swig');
var template = swig.compileFile('/path/to/your/template.html');
var output = template({
foo: 'bar'
});
现在你有了输出,我们可以使用 fs
来保存 html:
var fs = require('fs');
fs.writeFile("/path/to/destination.html", output, function(err) {
if(err) {
return console.log(err);
}
console.log("The file was saved!");
});
旁注:Swig 不再维护并且存在安全漏洞。