sublime text 打开 html 文件仅显示源码或受限预览,因它非运行环境;需用 liveserver 插件或 python http 服务以 http:// 协议本地运行,避免 file:// 下的 cors、路径、ajax 等安全限制。

Sublime Text 里点开 HTML 文件只是预览,不是“运行”
Sublime Text 本身不带浏览器引擎,双击或用 Ctrl+O 打开 index.html,看到的只是源码——哪怕你右键“Open in Browser”,也取决于系统默认浏览器是否已启动、路径含空格或中文是否出错。这不是 Sublime 的 bug,是它定位本就不是 IDE 或运行环境。
常见错误现象:This page isn’t working(本地文件协议下 AJAX 失败)、404(相对路径加载 JS/CSS 错误)、控制台报 Not allowed to load local resource。
- 真正需要的是:让浏览器以
http://localhost:xxxx方式加载,而非file:/// - 最轻量方案是用 Python 自带的 HTTP 服务:终端进项目目录,执行
python -m http.server 8000(Python 3)或python -m SimpleHTTPServer 8000(Python 2) - 别直接双击 HTML——哪怕它能打开,静态资源路径、CORS、Service Worker 全都会异常
用 Sublime 插件一键启动本地服务器(推荐 LiveServer)
手动敲命令太慢,尤其要反复刷新时。插件 LiveServer 能绑定快捷键,在保存时自动刷新浏览器,且强制走 http:// 协议。
安装与配置要点:
立即学习“前端免费学习笔记(深入)”;
- 通过 Package Control 安装
LiveServer,不要装错成同名但无维护的旧版 - 安装后重启 Sublime,打开任意
.html文件,按Ctrl+Alt+L(Windows/Linux)或Cmd+Alt+L(macOS)即可启动 - 首次运行会弹出终端窗口,显示服务地址如
http://127.0.0.1:5500/index.html,直接复制进浏览器 - 注意:该插件默认端口是
5500,若被占用会自动递增;别手动改配置里的port,容易和浏览器缓存冲突
为什么不用内置的 “View in Browser” 功能?
Sublime 原生的 Context Menu → Open in Browser 或 Ctrl+Shift+P → View in Browser,本质就是调用系统默认浏览器打开 file:// 路径。对纯展示型 HTML 可能凑合,但只要涉及以下任一情况,立刻失效:
- 用了
fetch()或XMLHttpRequest加载本地 JSON - 引入了
node_modules下的模块(需构建流程) - CSS 里用了
@import url("xxx.css")且路径为相对路径 - 页面里写了
location.origin判断,结果得到null(file://协议无 origin)
这些不是“功能没开好”,而是浏览器安全策略铁律,绕不开。
调试 HTML + JS 时,别跳过开发者工具的 Network 标签页
即使用了 LiveServer,仍可能看到 404 或 blocked。这时别急着改 Sublime 设置,先打开浏览器 DevTools 的 Network 标签页,刷新页面,看哪些资源状态码异常。
- 状态码
200但内容为空?检查文件是否真在对应路径下(Sublime 的侧边栏可能没刷新) - 状态码
404?确认src="js/main.js"中的js/是相对于服务器根目录(即LiveServer启动时所在文件夹),不是相对于 HTML 文件 - 状态码
0?通常是跨域或协议不匹配,比如 HTML 由http://加载,却试图请求https://接口
很多问题根本不在 Sublime,而在路径理解偏差和协议意识缺失。










