第4课:构建命令和输出目录
理解 install command、build command、output directory 和 root directory,避免靠猜填写部署配置。
先看一张直觉图
先不要急着填平台表单。
请先看这张图:
这张图想告诉你一件事:
构建命令负责把项目整理成线上版本,输出目录是整理好的成品放在哪里。
部署平台问这些配置,不是在为难你。
它只是在问:
我该先装什么?
我该运行哪个命令做成品?
做好的成品在哪个文件夹?
如果需要启动服务,启动命令是什么?
开始之前
打开你的小工具项目。
如果它是前端项目,你可能会看到一个文件:
package.json
这个文件很重要。
你可以先不用完全看懂它。
只要知道一句话:
package.json 像项目说明书,里面可能写着项目能运行哪些命令。
比如你可能会看到:
{
"scripts": {
"dev": "vite",
"build": "vite build",
"preview": "vite preview"
}
}
这不是让你背代码。
这一课只看 scripts 这一小块。
先看一个小故事
小林第 3 课已经知道自己的项目是前端项目。
他开始尝试部署。
平台问他:
Install Command
Build Command
Output Directory
小林看到英文就慌了。
他想起自己本地运行项目时用过:
npm run dev
于是他准备把 npm run dev 填进 Build Command。
课程提示先停一下:
npm run dev 通常是本地开发命令,不一定是线上构建命令。
小林问:
那我怎么知道该填什么?
课程提示:
不要猜。
打开 package.json。
让 Codex 根据 scripts 和项目结构判断。
Codex 看完后说:
Install Command: npm install
Build Command: npm run build
Output Directory: dist
Start Command: 不需要,因为这是前端静态构建后的发布方式
小林这才明白:
部署配置不是靠感觉填的。
它要有依据。
一、install command 是什么
install command 可以先理解成:
安装项目需要的工具包。
如果你的项目有 package.json,里面通常会写它依赖哪些工具包。
部署平台拿到你的项目后,可能需要先运行:
npm install
或者:
pnpm install
yarn install
这一步的意思大概是:
先把项目需要的工具准备好。
你不用自己猜用哪个。
可以让 AI 看项目里有没有:
package-lock.jsonpnpm-lock.yamlyarn.lock- 项目说明。
然后让 AI 判断最合适的安装命令。
二、build command 是什么
build command 可以先理解成:
把项目生成线上版本的命令。
很多前端项目在本地开发时,用的是:
npm run dev
但上线前,经常需要用:
npm run build
这两个命令不要混在一起。
你可以这样理解:
| 命令 | 常见用途 | 小白理解 |
|---|---|---|
npm run dev | 本地开发 | 我自己电脑上边改边看 |
npm run build | 生成线上版本 | 做出可以发布的成品 |
所以平台问 Build Command 时,通常不是问:
你平时怎么本地打开?
而是在问:
我要运行哪个命令,才能得到线上版本?
三、output directory 是什么
output directory 可以先理解成:
构建结果所在的文件夹。
有些项目构建后,结果会放在:
dist
有些项目可能是:
out
build
public
但这件事不能靠猜。
你要让 AI 根据项目判断。
它可能会看:
- 项目使用的工具。
package.json。- 配置文件。
- 项目说明。
- 构建命令的默认输出。
你可以用一句话理解:
build command 负责做成品,output directory 负责告诉平台成品放在哪里。
四、start command 是什么
有些项目只需要构建成静态文件。
这时可能不需要 start command。
有些 Node 应用需要服务一直运行。
这时可能会有:
npm start
node server.js
所以 start command 不一定每个项目都要填。
你要让 AI 明确说:
需要 / 不需要 / 不确定
不要让它含糊。
如果 AI 说不确定,你要追问:
你需要看哪些文件才能判断?
五、root directory 是什么
有些项目所有文件都在项目根目录。
这时可能不用填 root directory。
但有些项目结构可能是:
my-project/
frontend/
backend/
如果你的小工具在 frontend/ 里,平台可能需要知道:
Root Directory: frontend
这一课不要求你掌握复杂目录结构。
只要记住:
root directory 是告诉平台:真正要部署的项目从哪个文件夹开始。
六、不要把“dev”当成“build”
这是本课最容易出错的地方。
很多人本地运行项目时,只记住了:
npm run dev
于是平台问构建命令时,就直接填:
npm run dev
这通常不稳。
你要先让 AI 判断:
这个项目的本地开发命令是什么?
这个项目的线上构建命令是什么?
它们是不是同一个?
大多数情况下,你至少要知道:
dev 常常是本地开发。
build 常常是线上构建。
但最终填写,还是以项目文件和 AI 判断为准。
七、动手练习:配置卡配对
请先看 4 个配置词:
install command
build command
output directory
start command
再写 4 个解释:
安装依赖
生成线上版本
成品所在文件夹
启动线上服务
请你连线。
参考答案:
| 配置项 | 大白话 |
|---|---|
| install command | 安装依赖 |
| build command | 生成线上版本 |
| output directory | 成品所在文件夹 |
| start command | 启动线上服务 |
再补一句:
不是每个项目都需要每一项。空着也要有理由。
八、自己动手:填写部署配置填写卡
现在轮到你的项目。
请先打开项目里的 package.json。
如果你找不到,也不要慌。
让 Codex 帮你找。
我的部署配置填写卡
| 项目 | 我的填写 |
|---|---|
| 项目名称 | |
| package.json 是否存在 | |
| scripts 里有哪些命令 | |
| 安装命令 | |
| 构建命令 | |
| 输出目录 | |
| 启动命令,如果需要 | |
| Root Directory,如果需要 | |
| AI 的判断依据 | |
| 我还不确定的配置 |
配置检查
| 配置项 | 已填写 | 不需要 | 还不确定 | 依据 |
|---|---|---|---|---|
| install command | ||||
| build command | ||||
| output directory | ||||
| start command | ||||
| root directory |
给 Codex 的提示词
请把下面这段发给 Codex。
请你先不要改代码。
请根据这个项目的 package.json、文件结构和运行方式,帮我判断部署平台里这些配置应该怎么填:
1. Install Command;
2. Build Command;
3. Output Directory;
4. Start Command;
5. Root Directory;
6. Node Version 是否需要指定。
请说明每一项的依据来自哪里。
如果某一项不需要填写,请明确写“不需要”,不要让我乱猜。
请最后帮我填写一张“部署配置填写卡”。
如果你看不懂 package.json,继续发:
请你先不要改代码。
请打开 package.json,并只解释和部署有关的部分:
1. scripts 里有哪些命令;
2. 哪个命令用于本地运行;
3. 哪个命令用于构建线上版本;
4. dependencies 和 devDependencies 大概是什么;
5. 部署平台为什么要先安装依赖;
6. 如果 build 命令失败,通常应该看哪里。
请用小白能听懂的话解释。
最后帮我写一段可以填进“部署配置填写卡”的摘要。
本课记住
| 配置词 | 你要记住的意思 |
|---|---|
| install command | 安装项目需要的工具包 |
| build command | 生成线上版本 |
| output directory | 线上版本生成后所在的文件夹 |
| start command | 如果项目需要服务一直运行,才可能需要 |
重要提醒:npm run dev 通常是本地开发命令。不要靠猜,必须写判断依据。
本课小结
这一课你不需要成为构建工具专家。
你只需要记住:
- 部署配置不是靠猜。
- 先看
package.json。 - 再让 AI 判断。
- 最后把每一项的依据写清楚。
如果 AI 说:
不需要
也可以。
但你要让它说明为什么不需要。
课后任务
请完成 3 件事:
- 找到自己项目里的
package.json。 - 用本课提示词让 Codex 判断部署配置。
- 完成“部署配置填写卡”。
如果没有 package.json,也要让 Codex 说明:
为什么没有。
这个项目是否仍然能部署。
平台配置应该怎样处理。
本课最低标准
完成本课,不是看你会不会解释构建工具。
最低合格标准是:
你能说出 build command 是生成线上版本。
你能说出 output directory 是构建结果的位置。
你能让 AI 根据 package.json 填写部署配置。
你能说明某项配置来自哪里,或者为什么不需要。
如果你能完成这四件事,本课就达标。