求你了,别再把 localhost:3000 发给我了
别再发 localhost:3000 给同事了,那真的打不开。
先别急,先搞清楚 localhost 到底是啥
你本地跑着 npm run dev,浏览器里 localhost:3000 显示正常,截图发群里:“功能做完了,大家看看效果。”
结果同事点开链接,浏览器显示“无法访问此网站”。
问题出在哪?
localhost 是一个特殊域名,它永远指向你自己这台电脑。
- 你电脑上的
localhost→ 你自己的硬盘 - 同事电脑上的
localhost→ 同事自己的硬盘
你发给别人的链接是 localhost:3000,相当于你把自家卧室的钥匙递过去,但钥匙上只写了“卧室”两个字,没有写你家大门在哪个小区哪栋楼。对方拿钥匙去开自己家的门,当然打不开。
想让别人看到,核心就一件事:把你的服务暴露到一个别人能访问到的地址上。
下面给你3种方案,从免费到付费,按需自取。
方案一:局域网 IP——同一个WiFi下能用(免费)
如果你和同事在同一个办公室、同一个WiFi、同一个公司内网,那不用折腾,直接用局域网IP就能看。
操作就两步:
第一步:启动服务时监听所有网卡
默认情况下,npm start 只监听 127.0.0.1(也就是localhost)。要让局域网内其他设备访问,需要改成监听 0.0.0.0。
不同的框架改法不一样,但你可以直接复制下面这句话去问AI:
“我的项目是 [Vue/React/Next.js],启动命令是 npm run dev,帮我改成监听 0.0.0.0 让局域网能访问。”
或者手动改(以常见框架为例):
# Vite
npm run dev -- --host
# React (react-scripts)
npm start -- --host 0.0.0.0
# Next.js
npm run dev -- -H 0.0.0.0
# 原生 Node.js
node server.js --host 0.0.0.0
第二步:查到你电脑的局域网IP
# Windows
ipconfig
# 找到 IPv4 地址,类似 192.168.1.5
# Mac/Linux
ifconfig | grep inet
# 或
ip addr | grep inet
# 找到类似 192.168.x.x 或 10.x.x.x 的地址
第三步:把地址发给同事
http://192.168.1.5:3000
同WiFi下的同事打开就能看到了。
这个方案的局限性
- ✅ 免费,不用注册任何东西
- ❌ 只能同一局域网内访问,出了公司大门就废了
- ❌ 手机流量打不开
- ❌ 异地办公的同事打不开
- ❌ 没有HTTPS,某些浏览器可能拦截麦克风/摄像头权限
方案二:内网穿透——外网也能访问(免费,但地址会变)
如果你的同事不在同一个网络,或者你回家后想让别人看,那就需要用内网穿透工具。
原理一句话:把你的 localhost:3000 通过一个隧道,映射到公网上的一个临时域名。
推荐工具:ngrok(最成熟,配置最简单)
安装并运行:
# 1. 下载安装(Mac 用 brew 最方便)
brew install ngrok
# 或者直接去官网下载:https://ngrok.com/download
# 2. 运行(假设你的服务跑在 3000 端口)
ngrok http 3000
你会看到这样的输出:
Forwarding https://abc123.ngrok.io -> http://localhost:3000
把 https://abc123.ngrok.io 发出去,全世界任何网络都能打开。
免费版的限制:
- 每次重启ngrok,域名会变(
abc123会变成别的) - 免费版速度一般,适合演示,不适合生产
- 需要注册账号(免费注册,不花钱)
备选方案(免注册,更轻量)
如果你不想注册ngrok账号,可以用 localhost.run:
# 一行命令,不需要注册
ssh -R 80:localhost:3000 localhost.run
运行后会返回一个 http://xxxx.localhost.run 地址,直接发出去就行。
这个方案适合谁
- ✅ 临时给客户/朋友看效果
- ✅ 手机端调试(用ngrok给的地址在手机上打开)
- ✅ 不需要长期稳定,看一眼就撤的场景
- ❌ 地址会变,不能当正式链接用
方案三:买域名 + 托管平台——长期稳定访问(约20元/年)
如果你想让这个页面长期在线,或者要做成正式产品给别人用,那必须走正规军路线。
为什么必须要有域名?
- IP地址难记(
123.45.67.89谁记得住?) - IP地址变来变去(重启服务器就变了)
- 最重要的:没有域名就上不了HTTPS证书
现在的浏览器有多严格?
- 没有HTTPS,调不了摄像头
- 没有HTTPS,调不了麦克风
- 没有HTTPS,微信/钉钉内置浏览器直接拦截
- 没有HTTPS,用户看到“不安全”三个大字就跑路了
最省钱的路径(静态网站)
如果你的项目是纯前端(HTML/CSS/JS),不需要买服务器,只需要买域名 + 托管平台。
费用: 域名首年约 ¥20-50 + 托管免费(Vercel/Netlify)
操作步骤:
-
买个域名(阿里云/腾讯云/Namecheap)
- 搜
.top或.xyz后缀,首年最便宜 - 一年大概20-50块人民币
- 搜
-
把代码推上GitHub
-
登录 Vercel,导入GitHub仓库
- Vercel 会自动识别项目类型并构建
- 自动分配一个
xxx.vercel.app的免费域名(自带HTTPS)
-
绑定你自己的域名(可选)
- 在Vercel后台添加域名
- 去你的域名商那边把DNS指向Vercel
- 等几分钟解析生效
Vercel免费版额度:100GB带宽/月,个人项目完全够用。
如果你有后端(需要服务器)
全栈项目(Node.js/Python/Go后端)需要一台云服务器。
费用: 域名 ¥20/年 + 服务器约 ¥40-60/月(最低配)
操作步骤(让AI帮你写部署脚本):
直接把下面这段复制给AI:
“我有一台 Ubuntu 服务器,公网IP是 xx.xx.xx.xx,域名是 example.com,我的项目是 Node.js 写的,端口是 3000。帮我生成一份 Nginx 配置文件做反向代理,并告诉我怎么用 certbot 自动配 HTTPS。”
AI会给你完整的命令,复制粘贴就能跑起来。
这里有个冷知识: 域名指向需要设置DNS解析,在域名商后台把A记录指向你的服务器IP,等几分钟就生效了。
一张图总结
| 方案 | 费用 | 能否外网访问 | 是否有HTTPS | 地址是否固定 | 适合场景 |
|---|---|---|---|---|---|
| 局域网IP | 免费 | ❌ 仅同WiFi | ❌ | ✅ 不变 | 同办公室演示 |
| ngrok内网穿透 | 免费 | ✅ | ✅ | ❌ 每次变 | 临时给外地同事看 |
| Vercel+域名 | ¥20/年 | ✅ | ✅ | ✅ 永久 | 静态网站正式上线 |
| 服务器+域名 | ¥20/年+¥40/月 | ✅ | ✅ | ✅ 永久 | 全栈项目正式上线 |
一个万能Prompt,送给懒得折腾的你
不管是哪种方案,你都不用自己记命令。
复制下面这段,粘贴给AI(Cursor/Claude/ChatGPT都行):
“我的项目在本地跑在 3000 端口。我现在想 [临时给朋友看效果/长期部署上线],请告诉我具体的操作步骤,一条命令一条命令地给,并解释每条命令是干什么的。”
AI会帮你生成完整的部署步骤,你只需要复制执行。
最后说一句: AI能帮你写代码,但网络链路得你自己懂一点。至少要知道 localhost 和真正的网址有什么区别——这大概就是“会用AI的开发者”和“只会复制粘贴的开发者”之间,那一点点但关键的区别。
你有什么“部署翻车”的糗事吗?欢迎在评论区分享,让大家乐一乐。

浙公网安备 33010602011771号