node.js - 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);
});
谢谢
解决方案
我认为你在那里犯了一个小错误。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);
});
推荐阅读
- css - Vue.js:如何修改 BootstrapVue 表中选定变量的颜色?
- c++ - 如何阻止我的程序输出时间,这使我的程序难以阅读
- mysql - 基于Categorize Range Age计算结果(查询MySQL)
- laravel - 对非必填字段应用数字验证
- mips - 这些 r 型位数是如何变成 0、11、12、18、0 和 x18 的?(下图)
- ruby-on-rails - 如何在同一页面中显示数据和表单
- java - Sencha CMD 7 dockerfile 因非法反射访问而失败
- javascript - 在 background.js 中使用 chrome.runtime.connectNative() 获取错误
- node.js - 如何在客户端传递 JWT 令牌?
- c# - 最大长度 255 阻止表单提交,尽管 StringLength 更长