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

VS Code无法识别EJS语法、EJS标签渲染不生效问题求助

EJS标签不渲染问题修复方案

问题和VS Code插件、EJS依赖安装无关,是代码本身存在3处错误,逐一修复即可:

  • EJS输出标签语法错误
    <% %>是EJS的逻辑执行标签,仅用于写if/for这类JS逻辑代码,输出变量值到HTML必须使用<%= 变量名 %>格式。你写的<%KindOfDay%>缺少输出标识等号,引擎不会解析输出变量内容。
    修正后的list.ejs代码:
    <body>
        <h1>Its a <%= KindOfDay %> </h1>
    </body>
    
  • path模块使用错误
    配置模板路径时你直接调用了path()但未引入path模块,且路径拼接需要用path.join()方法,错误调用会导致服务无法正确定位模板文件。
    首先在app.js顶部加引入语句:
    const path = require('path');
    
    再把模板路径配置改为:
    app.set('views', path.join(__dirname, 'views'));
    
    如果你存放ejs文件的文件夹实际命名为view,把上述代码里的'views'替换成'view'即可。
  • 星期判断逻辑错误
    today.getDate()获取的是当前日期在当月的序号(如1号、15号),获取星期需要调用today.getDay(),该方法返回0-6的数值,0为周日、6为周六,和你写的判断规则匹配。
    修正后的路由逻辑:
    app.get("/", (req, res) => {
        const today = new Date();
        const day = today.getDay() === 0 || today.getDay() === 6 ? "Weekend" : "Weekday";
        res.render("list", { KindOfDay: day });
        console.log(day);
    });
    

全部修改完成后重启Node服务,刷新页面即可正常显示预期内容。


内容的提问来源于stack exchange,提问作者Ariyan Rehman Razon

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 03:51:21