res.render 显示 html 代码而不是呈现页面

res.render showing html code than rendering the page

我是 ejs 的新手,我正在尝试使用它来呈现页面。这是代码

app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'ejs');
app.get ("/user",(req,res) =>{
  res.header("Content-Type",'application/json');    
  var id_token_decode=jwt_decoder(req.session.tokenSet.id_token);
  var decoded = jwt_decoder(req.session.tokenSet.access_token); 
  console.log(id_token_decode)
  console.log(decoded);
  console.log(path.join(__dirname + '/views/citizenHome.html'))
  res.render('citizenHome.ejs')
  
})

它显示的是 html 代码,而不是实际呈现页面。谁能帮帮我?

从路线中删除res.header("Content-Type",'application/json'); 这一行

app.get ("/user",(req,res) =>{
  // res.header("Content-Type",'application/json');    <-- remove this line
  var id_token_decode=jwt_decoder(req.session.tokenSet.id_token);
  var decoded = jwt_decoder(req.session.tokenSet.access_token); 
  console.log(id_token_decode)
  console.log(decoded);
  console.log(path.join(__dirname + '/views/citizenHome.html'))
  res.render('citizenHome.ejs')
  
})

另外,/views/citizenHome.html 这个文件有什么作用?