live server是vscode最稳的html实时预览方案,它启动本地http服务(如http://127.0.0.1:5500)绕过file://协议限制,支持fetch、import、相对路径等,保存即刷新;必须安装ritwick dey原版插件、以文件夹方式打开项目、右键html文件选择“open with live server”。

VSCode 里写 HTML,想实时看到效果,别双击打开、也别手动刷新——直接用 Live Server 插件,这是目前最稳、最省心的本地预览方案。
为什么不能直接双击打开 HTML 文件?
双击用浏览器打开 file:// 协议的 HTML 文件,会触发跨域限制:所有 fetch、XMLHttpRequest、import、甚至某些 localStorage 行为都会被浏览器拦截。哪怕你只写了 <script src="data.js"></script>,也会报 CORS policy: No 'Access-Control-Allow-Origin' header 错误。
常见表现:
文章转信息图。将文章/笔记转化为手机可读的 HTML 信息图,自动匹配视觉风格。触发场景:文章转图、笔记转图、信息图、转小红书图、做张图、可视化这篇文章、文生图。
- CSS/JS 文件加载失败,控制台报
net::ERR_FILE_NOT_FOUND或blocked by CORS policy - 本地 JSON 数据读取失败
- ES Module 导入语法(
import)直接报错
Live Server 是怎么工作的?
Live Server 本质是启动一个轻量级本地 HTTP 服务器(基于 connect + chokidar),把当前文件夹作为根目录,服务地址类似 http://127.0.0.1:5500/index.html。它不是“模拟浏览器”,而是真实复现生产环境的协议和权限模型。
关键行为:
- 自动监听文件保存事件,触发浏览器刷新(可关)
- 支持
localhost下所有 Web API(fetch、WebSocket、Service Worker注册等) - 默认端口 5500,冲突时自动递增(5501、5502…)
- 右键菜单项叫
Open with Live Server,不是Preview或Run
不装插件,纯 JS 能否实现 iframe 实时预览?
可以,但仅限静态内容。核心是利用 iframe.srcdoc 属性动态注入 HTML 字符串:
const html = document.getElementById('html-editor').value;
const css = `<style>${document.getElementById('css-editor').value}</style>`;
const js = `<script>${document.getElementById('js-editor').value}<\/script>`;
previewFrame.srcdoc = html.replace('', `${css}`).replace('</script>前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!










