EJS页面无法加载CSS文件,相同结构其他项目可正常加载如何修复?
问题原因及修复方案
你遇到的CSS加载失败问题由两处配置错误导致,按以下步骤修改即可解决:
1. 补充Express静态资源托管配置
你的项目入口代码没有声明public文件夹为静态资源托管目录,Express无法对外提供该目录下的文件访问。在入口文件的app.use(express.urlencoded({extended: true}));代码后新增以下配置:
app.use(express.static(path.join(__dirname, 'public')));
修改后该部分代码示例:
app.use(express.urlencoded({extended: true})); // 新增静态资源托管配置 app.use(express.static(path.join(__dirname, 'public'))); app.get('/', (req, res) => { res.render('home'); });
2. 修正EJS文件中的CSS引入路径
配置静态资源托管后,public文件夹会作为静态资源的根路径,不需要在引入链接中额外添加/public前缀。将home.ejs中的CSS引入标签修改为:
<link rel="stylesheet" type="text/css" href="/stylesheets/home.css">
完成以上两处修改后重启项目服务即可正常加载CSS。
内容的提问来源于stack exchange,提问作者user13086312
相关产品推荐
相关产品推荐

