Express+Node.js环境下Handlebars模板stylesheet不生效问题
解决方法
- 修正样式表引用路径
将模板里的link标签路径从相对路径./css/style.css改为绝对路径/css/style.css:
<link rel="stylesheet" href="/css/style.css" >
原因是你配置的express.static已经将public目录映射为服务的根静态资源路径,绝对路径不受当前页面的路由层级影响,始终能正确定位到public/css/style.css文件。
确认静态资源中间件的注册顺序
确保app.use(express.static(__dirname + '/public'))这行代码写在所有路由注册代码之前,避免请求被路由逻辑拦截导致无法匹配静态资源。排查路径大小写问题
如果部署在Linux类服务器上,需要确认目录和文件名的大小写完全匹配,比如public/CSS/style.css和public/css/style.css会被识别为不同路径。
如果修改后仍然无法加载,可以打开浏览器开发者工具的「网络」面板,查看样式文件的请求地址和返回状态,进一步定位错误原因。
内容的提问来源于stack exchange,提问作者Phuong Tran
相关产品推荐
相关产品推荐

