livereload在sublime text中无法直接使用,必须依赖livereload cli服务、浏览器livereload扩展和http协议三者协同;sublime插件仅作触发器且st4已失效,markdown预览需额外配置simplereloadplugin。

LiveReload在Sublime Text里根本不能“直接用”
Sublime Text 本身不支持 LiveReload 协议,所谓“装个插件就自动刷新”是常见误解。它没有 WebSocket 客户端,也没法主动通知浏览器——所有真正起作用的刷新逻辑,都必须由外部服务或浏览器扩展承担。
实际生效的链路只有这一条:livereload CLI(Node.js 启动的服务) → 浏览器 LiveReload 扩展(靶心图标,开发者为 LiveReload.com) → 页面重载。Sublime 里的插件(如 dwieeb 版)在 ST4 上已静默失效;ST3 虽能装,但只是个触发器,不校验端口/协议,也不处理文件类型匹配。
- 没装
livereloadCLI?保存后页面毫无反应 - Chrome 扩展没点图标变实心?WebSocket 连接不会建立
- 网页用
file://协议打开?扩展被浏览器硬性禁用,改不了
必须走通的三段链路:CLI + 浏览器扩展 + HTTP 协议
只要其中一环断开,就会出现 WebSocket connection to 'ws://localhost:35729/livereload' failed 这类错误,或者保存后页面完全没反应。
实操要点:
- 先确认已安装 Node.js,然后运行:
npm install -g livereload - 项目根目录启动监听:
livereload . --port 35729 --exts html,css,js,md(--exts必须显式列出你要监听的后缀,漏掉md,改 Markdown 就不会刷新) - Chrome 扩展 → Options → 把 port 改成和 CLI 一致(默认
35729) - 网页必须用
http://localhost:8000/xxx.html这类地址打开,file://协议下扩展会被禁用 - 如果页面已打开再装扩展,需手动按
Ctrl+R重载一次,让注入脚本生效
Markdown 实时预览要额外绕一道弯
livereload CLI 默认不识别 .md 文件,因为它不直接生成 HTML;而 Markdown Preview 插件是把渲染结果写到缓存目录下的临时 .html 文件里。所以得手动告诉 LiveReload:“当 .md 保存时,请触发 markdown_preview 命令,并把输出当作 HTML 刷新”。
配置路径:Preferences → Package Settings → LiveReload → Settings – User,填入:
{
"enabled_plugins": ["SimpleReloadPlugin"],
"SimpleReloadPlugin": {
"paths": ["*.md"],
"command": "markdown_preview",
"args": {"target": "browser", "parser": "markdown"}
}
}
注意:"command" 必须是 markdown_preview(全小写+下划线),写成 MarkdownPreview 或其他变体都不生效;且必须已安装 Markdown Preview 插件(不是 MarkdownEditing)。
Sublime Text 4 用户注意:原 LiveReload 插件已失效
作者 dwieeb 的 LiveReload 插件只支持 ST3,ST4 上静默失效——你装了、配了、重启了,界面也显示启用,但它根本不发通知。别白费时间调试配置。
替代方案只有两个:
- 放弃 Sublime 插件,纯靠 CLI + 浏览器扩展联动(推荐,更稳定)
- 降级回 ST3(不现实,安全与兼容性风险高)
另外,SublimeLinter-LiveReload 是给代码检查用的,和页面刷新完全无关,别碰。











