使用指南

认识 LocalServe

LocalServe 是一款本地站点部署助手。无需命令行,就能把本机文件夹发布成浏览器可以打开的网站,或把文件分享给同一局域网里的其他设备。

从本地开始

当前站点提供 HTTP 服务。局域网访问需要设备处于同一网络;LocalServe 本身不提供公网发布或内网穿透。

站点管理

把本地文件夹部署为站点。先完成新建流程,再按需要配置局域网访问、自定义域名、代理规则和自动运行等选项。

每个站点有独立的目录、端口和运行状态;同时运行多个站点时,需要使用不同的可用端口。

01 / 新建站点

准备一个包含 index.html 的文件夹。如果是 React、Vue 等项目,请先完成构建,再选择生成的 dist 等产物目录。

1

新增站点,选择目录

打开 LocalServe,点击右上角「新增」→「新增站点」。填写名称,选择目录。目录中必须包含index.html。

2

设置一个可用的端口

端口必须设置,切不能被其他程序占用,推荐使用1024-65535之间的端口。
注意:本应用的文件分享服务已使用19800端口,故其不能再被站点使用。

3

保存并启动,打开站点

点击「保存并启动」,等待状态变为「运行中」。点击卡片上的地址,在弹出的二维码面板中选择在浏览器打开。

02 / 基础配置:名称、目录与端口

配置项 如何填写
名称 填写项目名,便于在列表中区分。
目录 选择存在且包含 index.html 的文件夹。
独立端口 范围为 1–65535,建议使用 1024–65535。19800 为文件分享保留,不可用于站点。
局域网访问 关闭时仅本机访问,开启后同一网络内的设备也可访问。
自定义域名 选填,例如 myapp.ls,详见域名章节。

03 / 局域网访问

想在手机上查看页面,或让同事预览作品?在站点配置里开启「局域网访问」,保存并启动后,使用卡片提供的局域网地址。

  1. 让电脑和访问设备连接到同一局域网。
  2. 开启该站点的「局域网访问」,确保站点处于运行状态。
  3. 点击局域网地址,使用另一台设备扫码,或复制链接在其浏览器中打开。
电脑 · LocalServe192.168.1.10:3000
手机 / 另一台电脑同一局域网,打开地址

上方 IP 仅为示例,请以应用显示的实际局域网地址为准。

手机上不要使用 127.0.0.1

127.0.0.1 始终指向正在访问的设备自身。手机访问电脑上的站点时,需要使用电脑的局域网 IP。若无法访问,请确认网络没有访客隔离,并检查 macOS 防火墙是否允许应用接收连接。

04 / 自定义域名

在站点基础信息的「自定义域名」中填写主机名,例如 myapp.ls。推荐使用 .ls 后缀,不要填写协议、端口或路径。每个站点保存一个域名。

域名映射请求管理员授权

保存、删除或导入配置时,如果域名发生变化,macOS 会请求管理员授权,以便修改 hosts。LocalServe 对 hosts的操作不影响其它域名访问。

域名映射在哪生效?

hosts 映射仅作用于运行 LocalServe 的这台 Mac,其它设备无法访问自定义域名,请使用局域网 IP 地址访问,且仍需带上站点的端口。

备份与还原

在「设置 → 域名与 hosts」中,可以查看托管域名数量。「立即备份」保存当前完整 hosts;「还原到备份」在确认后恢复最近一次备份,操作前请确认备份后的其他 hosts 修改是否需要保留。

05 / 代理转发与路径重写

在站点编辑页的「代理规则」中,将某个路径前缀转发到另一个服务。前端通过同一站点地址请求接口,再由代理转发到目标后端,可以规避浏览器的跨域限制,方便前后端联调;目标后端需要单独运行。

以 /api 转发为例

字段 示例与作用
路径前缀 /api,匹配需要转发的请求路径。
目标地址 http://127.0.0.1:3000,必须是带主机的 HTTP 或 HTTPS 地址。
来源替换 将发给目标的 Host 改为目标主机,多数后端需要开启。
路径重写 开启时去掉前缀;关闭时保留原路径。
路径重写 · 开启时
请求   /api/users
  ↓    去掉 /api 前缀
目标   http://127.0.0.1:3000/users

关闭路径重写时,目标收到的是 /api/users。前缀与目标都填写完整的规则,保存后才会生效。

06 / 高级选项

  • SPA history fallback

    没有匹配文件的请求回退到 index.html。使用前端 history 路由时,开启此项可避免刷新子页面出现 404。

  • 附加 CORS 响应头

    为静态资源附加跨域响应头,默认关闭。同一站点中的接口请求优先使用代理规则。

  • 应用启动时自动运行

    下次打开 LocalServe 时自动启动这个站点。这与应用自身的「开机自启动」是两个独立选项。

07 / 启停、访问与日志

启动、停止与重启

使用站点卡片右侧按钮启停服务。卡片显示「已停止」「启动中」「运行中」或「异常」;异常时会显示具体原因。更多菜单提供重启、编辑、导出配置、在 Finder 中显示目录和删除站点等操作。

访问站点与查看日志

站点运行后,点击地址可查看二维码、复制链接或在浏览器打开。按住 Command(或 Ctrl)点击地址,可直接用浏览器打开。

在站点更多菜单中打开「详情与日志」,查看端口、域名、代理数量和访问链接。日志支持按全部、访问、代理、错误筛选,也可搜索、清空和导出。清空只会清除应用记录的日志。

08 / 导入与导出站点配置

展开站点区域的更多操作,可导入配置或导出全部站点配置。单个站点的更多菜单可单独导出该站点。

配置保存的是站点设置,不包含网站文件。换一台电脑使用时,也需要拷贝网站目录,并确认配置中的目录路径、端口和代理目标在新电脑上可用。导入涉及域名变化时,仍可能请求 hosts 授权。

文件分享

将文件分享给同一局域网里的设备。文件分享独立于站点管理,不需要先创建站点。
文件分享服务运行在19800端口,无法手动关闭。若启动时该端口被占用,文件分享服务将不能正常工作。

01 / 添加要分享的文件

点击「新增 → 新增文件」,或文件区域旁的新增按钮,选择要分享的文件。

02 / 局域网扫码下载

  1. 选择文件卡片上的二维码入口,打开二维码弹窗
  2. 同一局域网中的设备扫码或打开链接,即可下载文件。
下载地址格式 · IP 和文件名请以应用为准
http://本机IP:19800/文件名

03 / 文件失效与移除分享

原文件移动或删除后,卡片会显示「文件失效」,请直接删除,重新添加新的文件。如果未检测到局域网 IP,下载地址会不可用。

「移除分享」只会从分享列表移除文件,不会删除磁盘上的原文件。你也可以通过卡片操作在 Finder 中显示原文件。

分享你确实想分享的文件

局域网内可连接该服务的设备能够通过下载链接访问文件。分享结束后,可从列表移除对应文件,停止提供该下载链接。

通用设置

窗口与菜单栏

点击应用右上角的齿轮打开设置。启用「关闭窗口时最小化到托盘」后,关闭窗口仍会在后台提供服务。需要真正退出时,在菜单栏图标的右键菜单中选择「退出 LocalServe」。左键点击菜单栏图标可重新打开主窗口。

设置 作用
关闭窗口时最小化到托盘 关闭窗口后继续在后台运行。
开机自启动 登录 macOS 时自动打开 LocalServe。
退出应用时自动还原 hosts 退出时移除 LocalServe 托管的域名,可能需要管理员授权。关闭可减少退出时的授权提示。
使用说明 打开随应用安装的离线说明文档。

常见问题

目录提示错误,或找不到 index.html?

确认选择的路径存在且是文件夹,根目录下包含 index.html。前端工程应选择构建后的产物目录,例如 dist,而不是仅包含源码的项目目录。

站点启动失败,提示端口被占用?

将端口改为未被其他站点或程序占用的值,例如 8081。不要使用文件分享专用的 19800。可以打开「详情与日志」查看具体错误信息。

电脑能打开,手机却无法访问?

确认站点已开启「局域网访问」,手机与电脑处于同一局域网,且使用的是电脑的局域网 IP,而非 127.0.0.1 或仅映射在电脑上的域名。再检查防火墙、访客网络隔离等网络限制。

自定义域名无法打开?

确认已允许写入 hosts,域名中没有协议或路径,且浏览器地址包含正确端口。若曾取消授权,重新保存域名以再次授权。其他设备请改用局域网 IP。

为什么反复要求输入管理员密码?

域名变更需要修改 hosts,因此 macOS 会请求管理员授权。若不需要退出时清理映射,可关闭「退出应用时自动还原 hosts」,减少退出应用时的授权请求。

单页应用首页正常,刷新子页面却是 404?

在站点的高级选项中开启「SPA history fallback」,保存并启动,让未匹配到文件的路由回退到 index.html。

可以使用 HTTPS 或直接发布到公网吗?

当前站点只提供 HTTP 服务;代理规则的目标可以使用 HTTP 或 HTTPS。LocalServe 本身不提供公网托管和内网穿透,局域网地址也不是公网地址。

关闭窗口后,站点为什么还在运行?

开启「关闭窗口时最小化到托盘」时,这是正常行为。要停止服务,可停止对应站点,或从菜单栏图标菜单中选择「退出 LocalServe」。

✓

准备好,把下一个想法打开。

回到应用,从一个文件夹开始。

再看一眼新建站点 ↑

搜索使用指南

Tab 选择结果 · Enter 跳转 · Esc 关闭