EJS文件无法渲染,特殊字符转义报错如何解决?
解决EJS视图引擎渲染报错:Special characters must be escaped : [ > ]
问题根源
你提供的EJS代码里,EJS标签被转义成了HTML实体(<%- 替代了 <%-,%> 替代了 %>),这导致EJS引擎无法识别正确的语法,同时编辑器会将这些转义字符视为普通文本,触发"特殊字符必须转义"的错误提示。
修复步骤
直接将转义后的标签替换为原始的EJS语法标签:
- 把
<%- body %>修改为<%- body %>
修复后的完整EJS代码:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> SomeText <br> <%- body %> <br> </body> </html>
额外检查
- 确保EJS文件后缀为
.ejs,且存放在Express配置的视图目录(默认是views文件夹)下 - 若自定义了视图目录,需通过
app.set('views', path.join(__dirname, '你的视图目录'))完成配置
内容的提问来源于stack exchange,提问作者Marin
相关产品推荐
相关产品推荐

