You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Express调用res.sendFile返回signup.html报path is not defined错误

报错原因

出现path is not defined错误的核心原因是代码中调用了Node.js内置的path模块做路径拼接,但没有提前在文件头部引入这个模块。
另外你代码里的app.set('view engine', 'html')属于无效配置:Express原生不支持把纯HTML作为模板引擎,如果你只是要返回静态HTML文件,完全不需要配置这一项。

修复步骤
  • 在server.js文件顶部引入Node.js内置的path模块
  • 删除无效的view engine配置行
  • 可选优化:添加静态资源托管规则,把code-FE目录设为静态资源目录,后续目录下的HTML、CSS、JS、图片等资源可以直接通过路径访问,不需要逐个写返回逻辑
修复后的完整代码
const express = require('express')
// 补全缺失的path模块引入
const path = require('path')
const app = express()
const port = 3000

// 可选:配置静态资源托管,映射到同级code-FE目录
app.use(express.static(path.join(__dirname, '../code-FE')))

app.get('/', (req, res) => {
    res.sendFile(path.join(__dirname, '../code-FE', 'signup.html'));
})

app.listen(port, () => {
   console.log(`Example app listening on port http://localhost:${port}`)
})
路径有效性说明

你原本写的路径拼接逻辑是正确的:__dirname会返回当前server.js所在BE文件夹的绝对路径,拼接../code-FE后会定位到和BE文件夹同级的code-FE目录,最终可以准确找到signup.html文件,不需要调整路径参数。


内容的提问来源于stack exchange,提问作者Xuân Nguyễn Viết

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.03 07:39:29