Express Node.js无法读取asset目录及路径错误的解决求助
问题解决方案
1. 正确挂载静态资源目录
别手动拼路径,用path模块处理路径适配不同系统的分隔符,确保静态目录挂载无误:
const express = require('express'); const path = require('path'); const app = express(); // 将splitSiteFiles设为静态资源根目录 app.use(express.static(path.join(__dirname, 'splitSiteFiles')));
配置后,splitSiteFiles里的文件直接通过根路径访问,比如访问http://localhost:3000/splitHomepage.html就能打开对应页面。
2. 处理根路径跳转首页
如果要访问/时自动返回splitHomepage.html,添加路由时必须用path.join指定正确的root目录:
app.get('/', (req, res) => { res.sendFile('splitHomepage.html', { root: path.join(__dirname, 'splitSiteFiles') }); });
这里的root必须是绝对路径,path.join会自动生成符合当前系统规则的路径,避免出现找不到文件或路径不合法的错误。
3. 排查关键细节
- 确认splitHomepage.html确实在splitSiteFiles文件夹里,文件名大小写要一致(Windows不区分,但部署到Linux环境会严格区分)
- 别直接用
__dirname+"/splitSiteFiles"拼接路径,不同系统的路径分隔符不一样,path.join能自动适配
内容的提问来源于stack exchange,提问作者Shoba
相关产品推荐
相关产品推荐

