如何使用Live Server打开EJS文件?Node.js项目访问异常排查
问题根因
你遇到的异常本质是两类服务的定位完全不匹配:
- 你开发的Node.js + EJS应用属于动态服务端渲染项目:EJS模板的解析、数据注入、最终HTML拼装的逻辑全部运行在你自己启动的Node服务进程中,浏览器收到的是Node服务处理完成后返回的完整HTML内容,直接启动Node服务访问正常就是这套链路跑通了。
- VS Code的Live Server是纯静态资源托管服务:它仅能直接返回工作区内已经存在的、不需要服务端编译处理的静态文件(.html/.htm/.css/.js/图片等),既没有运行Node.js业务逻辑的能力,也无法解析渲染EJS模板。
- Live Server给出的「无.html/.htm文件时参考方法4、方法5启动」的提示,仅适用于直接托管其他格式静态文件的场景,不会触发任何服务端渲染逻辑。你按指引操作后Live Server找不到可直接返回的有效静态资源,就会跳转到如下异常页面:

正确使用方案
不要用Live Server启动这类服务端渲染项目,参考以下方式适配开发需求:
- 日常访问调试:直接启动你自己编写的Node服务,在浏览器访问Node服务监听的对应端口即可,这是这类项目的标准访问方式。
- 需要代码修改后自动重启服务:安装
nodemon工具替代原生node命令启动项目即可:- 执行安装命令:
npm install -g nodemon - 将原有启动命令(例如
node index.js)替换为nodemon index.js启动服务 - 后续修改项目代码、EJS模板后,nodemon会自动重启Node服务,刷新浏览器即可看到最新效果,无需手动重启进程。
- 执行安装命令:
- 需要修改代码后浏览器自动刷新:可以在Node项目中集成
browser-sync,监听项目文件变更后触发浏览器自动刷新,不要直接用独立的Live Server进程托管服务端渲染项目。
内容的提问来源于stack exchange,提问作者Julio
相关产品推荐
相关产品推荐

