快递报关引擎视图replace内容错误

我试图在“fs.readFile”加载的时候replace内容。

这是我的代码

app.engine('html', function (filePath, options, callback) { fs.readFile(filePath, function (err, content) { if (err) return callback(err) let rendered = content.toString(); let regStr = ''; let reg; for(let name in options) { regStr = '#(' + name + ')#'; reg = new RegExp(regStr, 'g'); rendered = rendered.replace(reg, options[name]); } return callback(null, rendered) }); }); 

而我在浏览器中重新加载页面我得到错误信息。

 TypeError: Cannot convert object to primitive value at RegExp.[Symbol.replace] (native) at String.replace (native) at D:\docker_root\ifttt\app.js:57:29 at FSReqWrap.readFileAfterClose [as oncomplete] (fs.js:446:3) 

如果我改变了这一行

 rendered = rendered.replace(reg, options[name]); 

 rendered = rendered.replace(reg, 'other string will be fine'); 

一切都会安好的。

我不知道这个代码有什么问题? 为什么它不能取代循环值。