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

使用Express渲染EJS文件,修改后需重启服务器,如何解决?

Express + EJS 修改模板无需重启服务器的解决方案

出现修改EJS文件后必须重启服务器才能生效的问题,核心原因是EJS默认在非开发环境会启用模板缓存,或是你误开启了缓存配置。解决方法如下:

1. 关闭EJS模板缓存

在Express的入口文件中,添加仅针对开发环境的缓存禁用配置:

const express = require('express');
const ejs = require('ejs');
const app = express();

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

// 仅在开发环境关闭模板缓存
if (process.env.NODE_ENV !== 'production') {
  // 方法1:通过Express视图配置关闭
  app.set('view cache', false);
  // 方法2:直接清空EJS缓存(两种选其一即可)
  ejs.cache = {};
}

// 路由示例
app.get('/', (req, res) => {
  res.render('example', {});
});

app.listen(3000);

2. 额外排查点

  • 确保当前运行环境为开发环境:可通过启动命令设置环境变量,比如NODE_ENV=development node app.js
  • 避免浏览器缓存:修改EJS后按Ctrl+F5强制刷新浏览器,排除浏览器本地缓存干扰
  • 检查缓存中间件:如果项目使用了静态文件缓存或其他缓存插件,确认它们未影响模板渲染

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 07:02:12