【发布时间】:2017-08-01 06:04:54
【问题描述】:
我有一个输出页面负载分析测试结果的 Node.JS 文件。我已将结果存储在文件results.json 中,并带有JSON.stringify()。
launchChromeAndRunLighthouse('https://www.microsoft.com/en-us/', flags, perfConfig).then(results => {
fs.appendFile('results.json', JSON.stringify(results), (err) => {
if(err){ throw err; }
console.log('Data was appended to file!');
var myObj = results.json; //problematic
var JSON_to_HTML = mustache.render('This test was generated at this time: {{generatedTime}}.', myObj); //problematic
});
});
现在我想在浏览器中显示结果,所以我想将 JSON 翻译成 HTML。我想为此使用 mustache,但这些行对我不起作用:
var myObj = results.json;
var JSON_to_HTML = mustache.render('Test was generated at this time: {{generatedTime}}.', myObj);
我收到错误“未定义结果”,这样的小胡子无法读取 JSON 文件。我不能用原始 JSON 初始化“myObj”,因为它大约有一百万行(我需要稍后对一大堆页面运行测试,所以我现在不能硬编码)。
我不确定如何将我现在拥有的这个 JSON 文件翻译成 HTML。有没有人有任何想法?我是 Node 和 Mustache 的初学者,非常感谢任何提示。
【问题讨论】:
-
launchChromeAndRunLighthouse必须返回未定义。您通过呈现一些静态数据console.log(mustache.render('{{foo}}', {foo: 'bar'}))应记录bar来验证 mustache 是否正常工作。 -
当我在新文件中尝试
console.log(mustache.render('{{foo}}', {foo: 'bar'}))时,我收到一条错误消息,指出未定义小胡子。我安装了它,最初是在全球范围内安装的,但后来只是在本地安装的。我还需要做什么才能使用小胡子吗?编辑:我可以打开 JSON 文件并查看测试结果,它不是未定义的......
标签: javascript json node.js mustache lighthouse