“能在我电脑跑”不等于“上线了”
在自己电脑里能跑,只是开了个家庭厨房:只有你站在灶台前、只有你能吃到这道菜。上线是把菜端到大街上的店面,让任何人路过都能点单。
两者之间差的是三件事:把程序放到一台公网服务器上、配好一个域名让别人记得住、让它一直开着(你关电脑它也不能停)。
localhost(也就是 127.0.0.1)这个门牌,永远只指向你这台电脑自己。别人在他家电脑输入它,开的是他家的门,不是你的店。托管平台:把搭店的脏活外包出去
托管平台(比如那种“连上你的代码仓库就自动部署”的服务)替你干了一堆脏活:准备机器、装运行环境、把你的代码跑起来、出口对接公网。你只要把代码交上去,它给你一个能访问的网址。
典型流程就三步:连仓库 → 它自动构建 → 给你一个 URL。改了代码再推一次,它会自动重新部署。
# 很多托管平台的部署就这么简单:把代码推上去
git push
# 平台检测到更新 → 自动构建 → 几十秒后给你一个公网网址
# 例如 https://my-cute-app.example.app域名与密钥:门牌号和保险柜
域名就是你这家店的门牌号,比如 purrlearn.com。买下它之后,做一次“指向”设置,告诉它“访问我请去托管平台那台机器”,别人输你的域名就能进店。
密钥(比如调用 AI 模型用的 API Key)是你的保险柜钥匙,绝不能写死在代码里——代码会进仓库、会被别人看到,钥匙就泄露了。
// 错误:钥匙写死在代码里,跟着代码一起泄露
const apiKey = "sk-1234真实密钥";
// 正确:从环境变量读,密钥配在平台后台,不进代码
const apiKey = process.env.API_KEY;自测 · 学完检查一下
想真正动手做题、记进度、攒连胜?到互动课里练。
判断:代码在我本地浏览器能打开,就等于已经成功上线、别人也能访问了。
答案:错
本地能跑 ≠ 上线。要把程序部署到公网可访问的环境、配好域名并保持一直运行,别人才能访问。
别人在他自己的电脑浏览器里输入 `http://localhost:3000`,会打开你刚写好的应用吗?
答案:不会,localhost 永远指向访问者自己那台电脑
localhost(127.0.0.1)是“本机”的意思,谁输入它都指向自己这台机器,所以别人打不开你的本地应用。
一个零基础的人想让 App 最快上线,最推荐哪条路?
答案:用托管平台一键部署
托管平台把准备机器、装环境、对接公网这些脏活都包了,是新手最短、最不容易翻车的上线路径。
判断:在很多托管平台上,部署的核心动作可以简化成“把代码推上去,平台自动构建并给你一个公网网址”。
答案:对
典型托管平台流程就是“连仓库 → 自动构建 → 返回可访问 URL”,改代码再推一次会自动重新部署。
判断:为了方便,把 API 密钥直接写在代码里再推到公开仓库,也没什么问题。
答案:错
代码会进仓库、可能被别人看到,写死密钥就等于公开了钥匙。应放进环境变量,代码运行时再读取。
代码里不写死密钥,而是把它配置在平台后台、运行时再读取,这种机制叫什么?(填四个字的术语,或它的英文)
答案:环境变量
环境变量(environment variable,常见写法 process.env.XXX)让密钥与代码分离,钥匙不进代码、不进仓库。