Live Server 配置需固化到项目级 .vscode/settings.json 中,明确设置 liveServer.settings.port、root、CustomBrowser、ignoreFiles 及 HTTPS 的 enable、cert、key(路径双反斜杠、PEM 格式、绑定 127.0.0.1),并验证地址栏为 https、Security 标签页显示安全连接及热更新正常。

Live Server 本身不提供“导出站点配置”功能——它没有配置文件格式、不生成可移植的站点描述,所谓“导出”,实际是指把当前有效的 liveServer.settings.* 配置项从 VS Code 设置中提取出来,保存为项目级的 .vscode/settings.json,以便复用、协作或迁移到其他机器。直接改用户全局设置(settings.json)会导致所有项目共用同一套参数,容易冲突。
怎么把 Live Server 配置固化到项目里
必须在项目根目录手动创建 .vscode/settings.json 文件,并写入 liveServer.settings.* 字段。VS Code 的设置分三层:默认值 → 用户设置(全局)→ 工作区设置(项目级),只有工作区级配置才会随项目一起被 Git 提交、被他人拉取后自动生效。
-
liveServer.settings.port:建议固定端口(如4500),避免每次启动分配不同端口导致书签失效、HTTPS 证书不匹配 -
liveServer.settings.root:若 HTML 在/src或/public下,设为"./src",否则服务会从项目根开始找文件,可能 404 -
liveServer.settings.CustomBrowser:填"chrome"或"edge",注意大小写敏感,填错不会报错但无效 -
liveServer.settings.ignoreFiles:数组格式,支持 glob,例如"**/*.ts"可防止 TS 文件改动触发刷新(因为不参与渲染)
HTTPS 配置为什么总不生效
常见现象是改了 liveServer.settings.https 但浏览器仍走 HTTP,甚至控制台没任何提示。根本原因是字段嵌套和路径转义双重校验失败:
- 字段必须完整写成
"liveServer.settings.https": { "enable": true, "cert": "C:\certs\127.0.0.1.crt", "key": "C:\certs\127.0.0.1.key" },漏掉enable: true或拼错cert/key就静默退回到 HTTP - Windows 路径中的反斜杠必须双写:
C:\certs\127.0.0.1.crt,单斜杠或正斜杠(C:/certs/...)在 Windows 上会被 JSON 解析器拒绝 - 证书内容必须是 PEM 格式:以
-----BEGIN CERTIFICATE-----开头,不是 DER 编码的.cer或.pfx;可用openssl x509 -in cert.cer -inform DER -out cert.crt转换 - 证书必须绑定
127.0.0.1或localhost,不能只绑域名(如myapp.local)却不配 hosts,否则浏览器提示 NET::ERR_CERT_COMMON_NAME_INVALID
如何验证配置是否真正生效
别只看状态栏有没有 “Go Live”,要确认三件事:
- 启动后浏览器地址栏显示的是
https://127.0.0.1:4500(不是http,也不是随机端口) - 打开开发者工具 → Security 标签页,能看到“Connection secure”,且证书信息与你指定的
cert文件一致 - 修改一个
.css文件并保存,观察是否热替换(无整页刷新);再改.html,确认是整页重载而非报错或无反应 - 如果用了
liveServer.settings.host改成"0.0.0.0"并想让手机访问,需额外检查系统防火墙是否放行对应端口,且路由器未开启 AP 隔离
最常被忽略的一点:Live Server 的 HTTPS 模式下,fetch() 请求若指向 http:// 接口(比如本地 mock 服务),浏览器会拦截混合内容(Mixed Content),必须确保后端也跑在 HTTPS 上,或改用相对协议(//localhost:3000/api)+ 同域部署——这不是 Live Server 的配置问题,而是浏览器安全策略本身。











