Nodejs 求助,express 渲染 jade 失效
Nodejs 求助,express 渲染 jade 失效
问题描述:
最近做的几个项目都存在 jade 渲染失败,浏览器上显示 html 源码,我把 jade 改为 pug 还是不能解决问题。网上的几个解决方法也无效。发出来向大家请教一下。
渲染失败效果如图:
https://img-blog.csdn.net/20180326125918483?watermark/2/text/aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3UwMTE0ODE1NDM=/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70
如果我描述的不清楚,请参考:
https://blog.csdn.net/u011481543/article/details/79696565
http://cnodejs.org/topic/55b058330500ae450bcc3770
谢谢。
三年了都没搞定?你不如上代码
80% content type 的锅
最近遇到这个 bug,参考部分是网友遇到同样的问题。代码是 express-generator 生成的,还没写过东西。
在 layout.pug 里加上 meta( http-equiv=“Content-Type” content=“text/html; charset=utf-8”)了。
我怀疑是缓存的问题,清除后又渲染成功了。wtf?
在 Response 中写 Content-Type 响应头, 而不是在 HTML 中写 meta.
meta 的优先级比 Response 响应中的 Content-Type 低多了.
用 webstrom 新建一个 demo 还有问题吗?不是的话就是写法有问题。
在Node.js中使用Express框架渲染Jade(现在通常称为Pug)模板时,如果遇到渲染失效的问题,通常可能是由于以下几个原因导致的:
-
确保已正确安装Pug(Jade): 首先,确保你已经安装了
pug
包。可以通过以下命令安装:npm install pug --save
-
配置Express使用Pug: 确保你在Express应用中正确设置了视图引擎。以下是一个基本示例:
const express = require('express'); const app = express(); app.set('views', path.join(__dirname, 'views')); // 设置视图文件夹 app.set('view engine', 'pug'); // 设置视图引擎为Pug app.get('/', (req, res) => { res.render('index', { title: 'Hello World' }); // 渲染视图并传递数据 }); app.listen(3000, () => { console.log('Server is running on port 3000'); });
-
检查视图文件路径和内容: 确保你的视图文件(例如
index.pug
)位于正确的路径下,并且内容格式正确。例如:doctype html html head title= title body h1= title
-
检查错误日志: 查看Node.js的控制台输出,看是否有任何错误信息可以帮助你诊断问题。
按照以上步骤检查并配置,通常可以解决Express渲染Pug模板失效的问题。如果问题仍然存在,请检查具体的错误信息并进一步调试。