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

点击EJS页面跳转按钮出现Cannot GET /edit.ejs报错如何解决

问题根因

你直接在<a>标签的href属性中填写EJS模板文件名edit.ejs是错误的。EJS是服务端渲染的模板文件,存放在views目录下的模板默认不会作为静态资源直接对外开放,Node服务不会直接响应模板文件本身的GET请求,需要通过服务端定义路由、渲染模板后再返回前端内容。

排查解决步骤
  • 检查server.js中的EJS基础配置是否正确,确认已指定模板引擎和模板存放目录,参考配置:
const express = require('express')
const app = express()

// 指定使用EJS作为模板引擎
app.set('view engine', 'ejs')
// 指定模板文件存放目录,匹配你存放在views/pages的场景
app.set('views', './views/pages')
  • 在server.js中新增/edit路径的GET路由,在路由逻辑中渲染edit.ejs模板:
app.get('/edit', (req, res) => {
  // 第二个参数为传入模板的动态变量,无变量可传空对象
  res.render('edit', {})
})
  • 修改前端页面的a标签href属性,替换为你定义的路由路径:
    将原有代码
<a class="nav-link" href="edit.ejs">Lets edit stuff</a>

修改为

<a class="nav-link" href="/edit">Lets edit stuff</a>
  • 重启Node服务后再次点击按钮测试即可。如果仍然报错,检查edit.ejs是否确实存放在views/pages目录下,文件名大小写是否和render参数中的edit匹配。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 02:36:05