使用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
相关产品推荐
相关产品推荐

