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

如何让localhost正常显示数据?EJS页面无法加载访问该怎么解决

问题排查与修复方案

  • 核心错误:body-parser 中间件未正确调用
    你代码中app.use(bodyparser.json)缺少执行括号,应该改为app.use(bodyparser.json())。未执行的中间件会拦截所有请求不做处理,直接导致请求一直处于挂起状态,超时后就会显示无法访问页面,这是你遇到问题的最主要原因。
  • 待确认项:EJS模板文件路径是否正确
    Express默认会从项目根目录下的views文件夹读取EJS模板,你需要确认根目录存在views/base.ejs文件,否则渲染模板时会抛出错误,导致页面加载失败。
  • 待排查项:路由文件是否存在异常
    你可以先注释掉app.use('/route', router)这行代码后重启服务,测试首页是否可以正常访问,排除自定义路由文件中出现的中间件未执行next()、路由逻辑错误等问题。
  • 待排查项:端口是否被占用
    如果启动服务时终端没有输出listening to request on http://localhost:${PORT}的日志,说明端口被其他进程占用,你可以执行对应命令查询占用进程:
    • Windows系统:netstat -ano | findstr 3000
    • Mac/Linux系统:lsof -i:3000
      杀掉占用进程或者更换未被使用的端口即可。

修复后的代码

const express = require('express')
const path = require('path')
const bodyparser = require('body-parser')
const session = require('express-session')
const {v4:uuidv4} = require('uuid')

const router = require('./router')

const app = express()

const PORT = process.env.PORT || 3000
// const PORT = process.env.PORT || 8080

// 修复:添加括号调用json中间件
app.use(bodyparser.json())
app.use(bodyparser.urlencoded({extended:true}))

app.set('view engine', 'ejs')

//Load static assets
app.use('/static',express.static(path.join(__dirname,'public')))
app.use('/assets',express.static(path.join(__dirname,'public/assets')))

app.use(session({
               secret: uuidv4(),
               resave: false,
               saveUninitialized: true
}))

app.use('/route', router)

//Home route
app.get('/', (req,res)=>{
                res.render('base',{title: 'Login System'})
})


app.listen(PORT,()=>{
               console.log(`listening to request on http://localhost:${PORT}`)
})

内容的提问来源于stack exchange,提问作者Emmanuel Joseph

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 02:45:04