在Express中提供静态文件时遭遇404错误,请求协助排查
Express静态文件404问题解决办法
你的问题出在访问路径和静态文件中间件的配置上,以下是几种可行的解决方式:
直接访问文件的具体路径
你当前访问的是根路径http://localhost:3000/,但Express默认不会自动将public目录下的test.html作为首页。直接访问http://localhost:3000/test.html就能正常加载目标文件。配置默认首页(推荐)
修改静态文件中间件的配置,指定根路径默认返回的文件:app.use(express.static('./public', { index: 'test.html' }));配置后访问
http://localhost:3000/就会自动返回test.html。使用绝对路径避免相对路径问题
相对路径./public是基于你启动Node进程的目录,而非app.js所在目录。如果启动目录不确定,用绝对路径更稳妥:const path = require('path'); app.use(express.static(path.join(__dirname, 'public')));搭配
__dirname拼接的绝对路径能彻底避免路径指向错误的问题。
内容的提问来源于stack exchange,提问作者monim
相关产品推荐
相关产品推荐

