我正在尝试为自己构建一个快速而肮脏的静态站点生成器。
假设我有这个test.html
文件:
{title}
{downloadpath}
这是我current.json
获得要替换的值的地方:
{
"id": 123,
"album" : [{
"title": "Test EP",
"albumid": 1234,
"path": "test.zip"
}]
}
我的替换函数如下所示:
// Iterate through JSON object and replace
function iterate(obj) {
for (var property in obj) {
if (obj.hasOwnProperty(property)) {
if (typeof obj[property] == "object")
iterate(obj[property]);
else
console.log("replace {" + property + "} with " + obj[property] )
htmldata.replace(/\{property\}/g, obj[property]);
}
}
}
iterate(json)
var result = htmldata
console.log(result)
// Write new HTML
fs.writeFile("test-" + json.id + ".html", result, 'utf8', function (err) {
if (err) {
return console.log(err);
}
});
如果我运行它,它的工作方式如下:
replace {id} with 123
replace {title} with Test EP
replace {albumid} with 1234
replace {path} with test.zip
{title}
{path}
你可以在那里看到问题。我认为它总是用输入文件替换编辑过的文件,所以我看不到任何变化。我无法弄清楚,如果有人能指出我正确的方向,我将不胜感激。
谢谢!