纯小白 AI 编程必备知识详解
· 阅读需 5 分钟
注:这里的小白直接默认一个小项目都没做过的那种,vs code没用过的情况下直接上cursor等AI工具开干那种,这类AI编辑器强大之处在于输入完提示词后自动生成项目结构,但很多小白在看到一堆陌生的文件和文件夹后会很懵😳。
下面以 Node.js 生态系统为例,挑几个最常见且最重要的文件以及常用的几个命令行详细解释⬇️
核心概念
1. .env 文件
用途: 存储环境变量和敏感信息
# .env 示例
DATABASE_URL="postgresql://user:password@localhost:5432/mydb"
API_KEY="your-secret-api-key-here"
NEXT_PUBLIC_APP_URL="http://localhost:3000"
关键点:
- 存放 API 密钥、数据库连接字符串等敏感数据
- 绝对不能提交到 Git(必须加入 .gitignore)
- NEXT_PUBLIC_ 前缀的变量可在浏览器中访问
- 其他变量只在服务器端可用
2. npm run dev
用途: 启动开发服务器
npm run dev
# 或
yarn dev
发生了啥:
- 启动本地开发服务器(通常在 localhost:3000)
- 启用热重载(Hot Reload):修改代码后自动刷新
- 显示详细的错误信息
- 未压缩代码,便于调试
3. package.json
用途: 项目配置文件
{
"name": "my-app",
"version": "1.0.0",
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start"
},
"dependencies": {
"react": "^18.2.0",
"next": "^14.0.0"
},
"devDependencies": {
"typescript": "^5.0.0"
}
}
包含内容:
- dependencies: 生产环境需要的包
- devDependencies: 仅开发时需要的包
- scripts: 可运行的命令(如 dev、build)
- 项目元数据(名称、版本、描述)
4. npm run build
npm run build
发生了啥:
- 代码压缩和优化
- 移除未使用的代码(Tree Shaking)
- 生成静态文件
- 准备部署到服务器
- 输出到 .next 或 dist 文件夹
5. git add .env ❌ 永远不要用!
为什么危险:
# ❌ 错误 - 会暴露密钥
git add .env
git commit -m "add config"
git push
# ✅ 正确 - .env 应在 .gitignore 中
后果:
- API 密钥泄露到 GitHub
- 数据库密码公开
- 安全漏洞
- 可能导致财务损失(如 API 被滥用)
正确做法:
- 使用 .env.example 文件作为模板
- 在 .gitignore 中添加 .env
6. http://localhost:3000/ 不是真实 URL
理解:
- localhost = 你的本地电脑
- 只有你能访问
- 其他人看不到你的网站
- 部署后才有真实 URL(如 https://myapp.vercel.app)
本地 vs 生产:
本地开发: http://localhost:3000
生产环境: https://yourapp.com
7. .gitignore
用途: 告诉 Git 忽略哪些文件
# .gitignore 示例
# 环境变量
.env
.env.local
# 依赖
node_modules/
# 构建输出
.next/
dist/
build/
# 日志
*.log
# 操作系统
.DS_Store
Thumbs.db
8. node_modules/
用途: 存放所有安装的 npm 包
my-project/
├── node_modules/ # ← 所有依赖包都在这里
│ ├── react/
│ ├── next/
│ └── 上千个文件夹...
├── package.json
└── package-lock.json
关键点:
- 通常非常大(几百MB甚至几GB)
- 永远不要提交到 Git(必须在 .gitignore 中)
- 删除后可以用 npm install 重新生成
- 其他人克隆项目后运行 npm install 就能获得相同的包
9. 通用术语
Divs(分区)
// HTML 容器元素
<div className="container">
<div className="header">标题</div>
<div className="content">内容</div>
</div>
Components(组件)
// 可重用的 UI 块
function Button({ text, onClick }) {
return (
<button onClick={onClick} className="btn">
{text}
</button>
);
}
其他术语:
- Props - 传递给组件的参数
- State - 组件的内部数据
- Hooks - React 功能(useState, useEffect)
- API - 后端接口
- Endpoint - API 路由(如 /api/users)
- Responsive - 响应式设计(适配手机/平板)
- Deploy - 部署上线
Python 开发相关
1. pip
用途: Python 包管理器(类似 npm)
# 安装包
pip install requests
pip install flask django pandas
# 从 requirements.txt 安装所有依赖
pip install -r requirements.txt
# 查看已安装的包
pip list
pip show requests
# 卸载包
pip uninstall requests
# 升级包
pip install --upgrade requests
# 安装特定版本
pip install flask==2.3.0
2. requirements.txt
用途: 列出项目所有依赖(类似 package.json)
# requirements.txt
flask==2.3.0
requests>=2.28.0
pandas==2.0.0
python-dotenv==1.0.0
生成和使用:
# 生成 requirements.txt(导出当前环境所有包)
pip freeze > requirements.txt
# 安装所有依赖
pip install -r requirements.txt
3. Virtual Environments(虚拟环境)
# 创建虚拟环境
python -m venv venv
# 或
python3 -m venv venv
# 激活虚拟环境
# macOS/Linux:
source venv/bin/activate
# Windows:
venv\Scripts\activate
# 激活后,命令行显示:
(venv) user@computer:~/project$
# 退出虚拟环境
deactivate
为什么需要:
# 没有虚拟环境的问题:
项目A需要 Django 3.2
项目B需要 Django 4.0
# 全局只能装一个版本!
# 有虚拟环境:
项目A/venv/ → Django 3.2
项目B/venv/ → Django 4.0
# 各自独立,互不影响
.gitignore 中必须加入:
venv/
env/
.venv/
📚 总结
理解了这些,你就差不多心理有个底
记住三个核心要点:
- 敏感信息(.env) 永远不提交
- 依赖文件夹(node_modules/, venv/) 可以删除重装
- 配置文件(package.json, requirements.txt) 是项目的核心
遇到问题时优先检查:
- ✅ 依赖安装了吗? (npm install / pip install -r requirements.txt)
- ✅ 环境变量配对了吗? (.env 文件存在且正确)
- ✅ 虚拟环境激活了吗? (Python 项目)
- ✅ 端口被占用了吗? (换个端口试试)
