第1课:本地和线上不是一回事
理解 localhost、本地、线上和公开网址的区别,知道为什么别人打不开你的本地地址。
先看一张直觉图
先不要急着读概念。
请先看这张图:
这张图想告诉你一件事:
本地能打开,只说明你自己的电脑能运行;别人要打开,需要公开网址。
本课接下来所有内容,都是围绕这张图展开。
开始之前
打开你第二册完成的小工具。
你可能是在浏览器里看到这样的地址:
http://localhost:3000
http://localhost:5173
http://127.0.0.1:3000
只要你看到 localhost 或 127.0.0.1,就先记住一句话:
这通常是我自己电脑上的地址。
它不是坏地址,也不是错误地址。
它只是还没有变成别人能访问的线上地址。
先看一个小故事
小林在第二册做完了一个“小红书标题助手”。
它能做到:
输入产品名称
点击生成按钮
看到 5 个标题
刷新后还能看到历史记录
小林很开心,于是把浏览器地址复制给朋友:
http://localhost:3000
朋友回复:
打不开。
小林第一反应是:
是不是我的项目坏了?
是不是 AI 写错了?
是不是我电脑有问题?
其实都不一定。
真正的问题是:localhost 对小林来说是“小林自己的电脑”,对朋友来说是“朋友自己的电脑”。
朋友打开 localhost:3000,不是在访问小林的电脑,而是在访问朋友自己的电脑。
如果朋友电脑上没有运行这个小工具,自然打不开。
一、本地是什么
本地,就是你自己的电脑。
当你在自己电脑上运行项目时,小工具通常只在你自己的电脑里工作。
你可以这样理解:
本地 = 我自己的电脑和我自己的项目现场
本地适合做这些事:
- 写第一版。
- 让 AI 修改。
- 运行测试。
- 看终端报错。
- 试错和撤回。
- 检查保存功能。
本地的好处是安全、方便、适合学习。
但本地有一个限制:
别人通常不能直接访问你电脑里的本地项目。
二、localhost 是什么
localhost 是本地项目里最常见的词。
你可以先不用记专业定义,只记住这句话:
localhost = 我这台电脑自己找自己
当你的浏览器打开:
http://localhost:3000
意思大概是:
我的浏览器正在访问我这台电脑上运行的一个项目。
所以你能打开,不代表别人能打开。
因为别人打开 localhost:3000 时,访问的是别人自己的电脑,不是你的电脑。
三、线上是什么
线上,就是把小工具放到一个别人也能访问的地方。
你可以这样理解:
线上 = 互联网上能被别人访问的位置
线上通常会给你一个公开网址,例如:
https://my-title-helper.example.com
https://my-tool.vercel.app
https://my-tool.netlify.app
公开网址和 localhost 最大的区别是:
公开网址可以发给别人。
localhost 通常只能自己用。
第三册后面要做的事,就是让你的小工具从“本地地址”走向“公开网址”。
四、公开网址是什么
公开网址就是别人也能打开的地址。
它通常有这些特点:
- 不是
localhost。 - 通常以
https://开头。 - 可以复制给别人。
- 别人用手机或电脑打开,也能看到你的页面。
- 如果出错,别人也会看到同一个线上版本的问题。
注意:
平台显示部署成功,不等于公开网址真的好用。
公开网址必须自己打开,也要让别人测试。
这就是第三册最后会做上线验收的原因。
五、本地和线上对比
| 对比项 | 本地 | 线上 |
|---|---|---|
| 在哪里 | 我的电脑 | 互联网上的运行位置 |
| 常见地址 | localhost:3000 | https://... |
| 谁能打开 | 通常只有我自己 | 别人也能打开 |
| 适合做什么 | 开发、修改、试错 | 分享、测试、给别人用 |
| 出错看哪里 | 终端、浏览器 | 部署日志、线上页面、浏览器 |
| 本课重点 | 知道自己还在本地 | 知道下一步要拿公开网址 |
这一课不是让你马上上线。
这一课只要求你能判断:
我的小工具现在是本地,还是线上?
我手里的地址能不能发给别人?
动手练习:判断这些地址能不能发给别人
请看下面这些地址,先不要管它们来自哪个平台。
在表格里判断:它更像本地地址,还是公开网址?
| 地址 | 更像本地 | 更像线上 | 我为什么这样判断 |
|---|---|---|---|
http://localhost:3000 | |||
http://127.0.0.1:5173 | |||
https://title-helper.example.com | |||
https://my-tool.vercel.app | |||
file:///Users/me/project/index.html |
判断时先看三个线索:
有没有 localhost?
有没有 127.0.0.1?
是不是 https:// 开头,并且看起来像互联网上的地址?
自己动手:填写本地/线上区别卡
请打开你的第二册项目,填写下面这张卡。
| 项目 | 我的填写 |
|---|---|
| 我的项目名称 | |
| 我本地打开项目的地址 | |
| 这个地址里有没有 localhost 或 127.0.0.1 | |
| localhost 用我的话解释是 | |
| 别人为什么不能直接打开这个地址 | |
| 我希望以后别人打开的网址应该是什么样 | |
| 我的小工具现在属于本地、线上还是不确定 |
如果你还不确定,就写“不确定”。
第三册不是要求你假装懂,而是要求你把当前状态说清楚。
给 Codex 的提示词
适合场景
你能在自己电脑上打开小工具,但不知道它是不是别人也能打开。
复制提示词
请你先不要改代码。
请根据这个项目,用完全不会代码的新手也能听懂的话解释:
1. 什么是本地;
2. 什么是线上;
3. localhost 为什么通常只有我自己能打开;
4. 公开网址和 localhost 有什么不同;
5. 如果我想让别人也能打开,大概要经历哪些步骤。
请不要讲复杂服务器知识。
请最后帮我整理成“本地/线上区别卡”。
使用提醒
如果 Codex 开始讲公网 IP、内网穿透、Nginx、Docker、云服务器配置,可以补一句:
请先不要展开复杂服务器知识,只讲到我能理解本地和线上区别。
本课记住
| 词 | 你要记住的意思 |
|---|---|
| 本地 | 我的电脑 |
| localhost | 我这台电脑自己找自己 |
| 线上 | 互联网上别人也能访问的位置 |
| 公开网址 | 可以发给别人测试的地址 |
本地能打开,不等于别人能打开。
本课小结
这一课只要带走 5 个判断:
localhost通常只代表自己的电脑。- 把
localhost发给别人,别人通常打不开。 - 本地适合开发和试错。
- 线上适合分享和外部测试。
- 第三册的目标,是拿到一个别人也能打开的公开网址。
你现在不需要懂部署平台怎么操作。
你只需要知道:
我现在还在本地。下一步要学习怎样走向线上。
课后任务
请完成 3 件事:
- 把你当前项目的本地地址写下来。
- 判断它是不是
localhost或127.0.0.1。 - 用一句话向别人解释:为什么这个地址不能直接发给朋友使用。
课后可以把这句话写成:
我现在的小工具还在本地,localhost 只代表我自己的电脑。别人要打开,需要我以后部署到线上,拿到一个公开网址。
本课最低标准
你做到下面 4 件事,就算本课合格:
- 能指出自己项目当前的本地地址。
- 能说出
localhost不是公开网址。 - 能解释别人为什么打不开自己的
localhost。 - 能完成“本地/线上区别卡”。
如果你还不会部署,不影响本课合格。
本课本来就不负责部署。