首页 > 解决方案 > expressjs不在浏览器上呈现计算的html字符串

问题描述

我正在快速阅读一个 HTML 文件并修改它的一些内容。我希望在浏览器中呈现修改后的 HTML 内容,但是它会呈现一个空白页面,其中源代码作为修改后的 HTML 内容。知道为什么吗?我的代码是:

 app.get('/', (req, res) => {
          let v = fs.readFileSync('./index_original.html', 'utf8');
          data = v.replace(/\$OG_TITLE/g, 'Hello World');
          data  = data.replace(/\$OG_DESCRIPTION/g, 'Hi There');
          data  = data.replace(/\$OG_IMAGE/g, 'https://via.placeholder.com/150');
          res.type('.html');
          res.send( data);
});

谢谢

标签: node.jsexpress

解决方案


我认为你在那里犯了一个小错误。res.type() 的正确语法是不带点的。签出:这里

这应该可以解决:

 app.get('/', (req, res) => {
      let v = fs.readFileSync('./index_original.html', 'utf8');
      let data = v.replace(/\$OG_TITLE/g, 'Hello World');
      data  = data.replace(/\$OG_DESCRIPTION/g, 'Hi There');
      data  = data.replace(/\$OG_IMAGE/g, 'https://via.placeholder.com/150');
      res.type('html'); 
      res.send(data);
});

推荐阅读