以为上线了,其实只有自己看得见
发生了什么
项目在自己电脑上运行得很好,于是把 localhost 链接当作正式网址发了出去。直到演示的那一刻,才发现别人根本打不开——因为这个地址从来就只在自己的电脑上有效。
缺失了哪块知识地图
没有区分"本地运行"和"部署上线"这两个完全不同的概念。误以为在自己浏览器里能看到,就等于已经发布到互联网上了。
那天发生了什么
演示日到了。你花了整整两周打磨的项目,在自己的电脑上运行得非常完美——页面精致、功能流畅。你自信地打开浏览器,把地址栏里的链接复制给了在场的所有人。
然后,安静了。
同事们点开链接后,看到的不是你精心设计的页面,而是浏览器冰冷的"无法访问此网站"提示。你低头看自己的屏幕,一切正常。但别人的屏幕上,什么都没有。
你仔细看了一眼自己发出去的链接:http://localhost:3000。
这个地址的意思是"我自己电脑上的 3000 号端口"。它就像你家的内部门牌号——只有在你家里才找得到,外面的人用这个地址只会迷路。
问题出在哪里
这个故事的根源在于一个很容易混淆的概念:"在我的浏览器里能看到"和"在互联网上能被访问到"是两件完全不同的事情。
当你在本地运行一个项目时(比如执行 npm run dev),你的电脑会在自己内部启动一个临时的小服务器。这个服务器只服务于你自己——它没有连接到互联网上,全世界只有坐在这台电脑前的你能看到它。
要让别人也能访问你的项目,你需要完成一个叫做"部署"的过程:把代码搬到一台连接在互联网上、24 小时运行的服务器上去。这台服务器会有一个真正的公开网址(比如 https://my-project.vercel.app),任何人在任何地方都能通过它找到你的项目。
怎么避免重蹈覆辙
最简单的检验方法:在你认为项目"上线了"的时候,用手机(断开 Wi-Fi,使用移动数据)打开你给出的链接。 如果能正常显示,它才是真正上线了。
其次,养成一个习惯:检查你准备分享的链接。如果其中包含 localhost、127.0.0.1,或者 0.0.0.0,那它一定还没有上线——这些都是"只在自己电脑上有效"的地址。
部署本身并不复杂。像 Vercel、Netlify 这样的平台,已经把整个过程简化到了"连接代码仓库 → 点击部署"的程度。你不需要自己管理服务器,也不需要理解复杂的网络配置。它们会帮你完成从"本地可用"到"全球可访问"的那一步跨越。
不要等到演示日才做这一步。项目初期就部署一次,哪怕页面上只有一行"Hello World"——确认链路通了,后面再往里填内容就从容多了。
如何预防