build - 构建命令
build 命令是 Claude Code 的核心构建工具,负责将项目代码编译、优化和打包成可部署的格式。
命令概述
build 命令支持多种项目类型的构建,包括前端应用、后端服务、移动应用等,并提供丰富的配置选项来满足不同的构建需求。
基本用法
标准构建
bash
claude build指定环境构建
bash
# 开发环境构建
claude build --env development
# 生产环境构建
claude build --env production
# 测试环境构建
claude build --env test指定平台构建
bash
# Web 应用构建
claude build --platform web
# 移动应用构建
claude build --platform mobile
# 桌面应用构建
claude build --platform desktop
# 多平台构建
claude build --platform web,mobile,desktop配置选项
环境配置
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
--env | string | production | 构建环境 |
--mode | string | build | 构建模式 |
--config | string | claude.config.js | 配置文件路径 |
优化配置
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
--minify | boolean | true | 是否压缩代码 |
--treeshake | boolean | true | 是否启用树摇优化 |
--sourcemap | boolean | false | 是否生成源码映射 |
--analyze | boolean | false | 是否分析构建产物 |
输出配置
| 选项 | 类型 | 默认值 | 描述 |
|---|---|---|---|
--outdir | string | dist | 输出目录 |
--format | string | esm | 输出格式 |
--target | string | es2020 | 目标环境 |
使用示例
1. Web 应用构建
React 应用
bash
# 基础构建
claude build --platform web --env production
# 带分析的构建
claude build --platform web --analyze --sourcemap
# 自定义输出目录
claude build --platform web --outdir buildVue 应用
bash
# 开发构建
claude build --platform web --env development --sourcemap
# 生产构建
claude build --platform web --env production --minify构建配置示例
javascript
// claude.config.js
export default {
build: {
web: {
entry: './src/main.js',
outDir: 'dist',
minify: true,
sourcemap: process.env.NODE_ENV === 'development',
rollupOptions: {
output: {
manualChunks: {
vendor: ['react', 'react-dom'],
ui: ['@mui/material', '@mui/icons-material']
}
}
}
}
}
};2. 移动应用构建
React Native
bash
# iOS 构建
claude build --platform mobile --target ios --env production
# Android 构建
claude build --platform mobile --target android --env production
# 同时构建 iOS 和 Android
claude build --platform mobile --target ios,androidFlutter
bash
# Debug 构建
claude build --platform mobile --mode debug
# Release 构建
claude build --platform mobile --mode release --target-platform android-arm64移动构建配置
javascript
// claude.config.js
export default {
build: {
mobile: {
reactNative: {
ios: {
bundleIdentifier: 'com.example.app',
codeSigningIdentity: 'iPhone Distribution'
},
android: {
packageName: 'com.example.app',
keystore: './android/app/release.keystore'
}
},
flutter: {
targetPlatform: 'android-arm64',
buildMode: 'release',
flavor: 'production'
}
}
}
};3. 后端服务构建
Node.js 服务
bash
# 标准构建
claude build --platform server --env production
# 带 Docker 的构建
claude build --platform server --docker --registry myregistry.com构建配置
javascript
// claude.config.js
export default {
build: {
server: {
entry: './src/server.js',
outDir: 'dist',
target: 'node16',
externals: ['express', 'mongoose'],
docker: {
baseImage: 'node:16-alpine',
workdir: '/app',
port: 3000
}
}
}
};4. 桌面应用构建
Electron 应用
bash
# 当前平台构建
claude build --platform desktop --env production
# 跨平台构建
claude build --platform desktop --target win32,darwin,linux构建配置
javascript
// claude.config.js
export default {
build: {
desktop: {
electron: {
main: './src/main.js',
renderer: './src/renderer.js',
targets: [
{
name: 'win32',
arch: ['x64']
},
{
name: 'darwin',
arch: ['x64', 'arm64']
},
{
name: 'linux',
arch: ['x64']
}
]
}
}
}
};构建流程
标准构建流程
具体执行步骤
1. 预构建阶段
bash
# 环境检查
✓ 检查 Node.js 版本
✓ 检查依赖完整性
✓ 验证配置文件
✓ 清理输出目录2. 编译阶段
bash
# 代码编译
✓ TypeScript 编译
✓ JSX 转换
✓ CSS 预处理
✓ 资源文件处理3. 优化阶段
bash
# 代码优化
✓ 代码压缩 (Terser/SWC)
✓ 树摇优化 (Tree Shaking)
✓ 代码分割 (Code Splitting)
✓ 资源优化 (图片压缩等)4. 打包阶段
bash
# 输出生成
✓ 生成构建文件
✓ 创建清单文件
✓ 生成源码映射
✓ 构建报告输出构建分析
启用构建分析
bash
# 基础分析
claude build --analyze
# 详细分析
claude build --analyze --verbose
# 生成报告文件
claude build --analyze --report bundle-report.html分析报告内容
包大小分析
Bundle Analysis Report
=====================
Total Bundle Size: 2.3 MB (gzipped: 654 KB)
Chunk Analysis:
├── main.js 1.2 MB (52.2%)
├── vendor.js 800 KB (34.8%)
├── runtime.js 200 KB (8.7%)
└── styles.css 100 KB (4.3%)
Optimization Suggestions:
• Consider code splitting for main.js
• vendor.js contains unused lodash functions
• 3 duplicate dependencies detected性能指标
Performance Metrics
==================
⏱ Build Time: 12.3s
Compilation: 8.1s (65.9%)
Optimization: 3.2s (26.0%)
Generation: 1.0s (8.1%)
Improvements vs Previous Build:
• Bundle size: -15.2%
• Build time: -8.7%
• Gzip size: -12.4%构建问题排查
常见构建错误
1. 依赖问题
bash
Error: Module not found: Can't resolve 'some-package'
# 解决方案
npm install some-package
# 或
claude build --install-missing2. 内存不足
bash
Error: JavaScript heap out of memory
# 解决方案
NODE_OPTIONS="--max-old-space-size=8192" claude build
# 或配置文件中设置3. 类型错误
bash
Error: Type 'string' is not assignable to type 'number'
# 解决方案
claude build --skip-type-check
# 或修复类型错误调试模式
bash
# 启用详细日志
claude build --verbose
# 启用调试模式
claude build --debug
# 保留临时文件
claude build --keep-temp性能优化建议
1. 增量构建
javascript
// claude.config.js
export default {
build: {
cache: true,
incremental: true,
cacheDirectory: '.claude/cache'
}
};2. 并行构建
javascript
// claude.config.js
export default {
build: {
parallel: true,
workers: 4, // CPU 核心数
workerTimeout: 30000
}
};3. 构建优化
javascript
// claude.config.js
export default {
build: {
optimization: {
minimize: true,
minimizer: 'swc', // 使用 SWC 替代 Terser
splitChunks: {
chunks: 'all',
cacheGroups: {
vendor: {
test: /[\\/]node_modules[\\/]/,
name: 'vendors',
chunks: 'all'
}
}
}
}
}
};高级配置
多环境配置
javascript
// claude.config.js
export default {
build: {
// 开发环境
development: {
minify: false,
sourcemap: true,
watch: true
},
// 测试环境
test: {
minify: true,
sourcemap: true,
coverage: true
},
// 生产环境
production: {
minify: true,
sourcemap: false,
optimize: true
}
}
};自定义构建插件
javascript
// plugins/custom-build-plugin.js
export default function customBuildPlugin(options) {
return {
name: 'custom-build',
setup(build) {
build.onStart(() => {
console.log('开始自定义构建...');
});
build.onEnd((result) => {
console.log('构建完成,用时:', result.duration);
});
}
};
}
// claude.config.js
import customBuildPlugin from './plugins/custom-build-plugin.js';
export default {
build: {
plugins: [
customBuildPlugin({
// 插件配置
})
]
}
};构建钩子
javascript
// claude.config.js
export default {
build: {
hooks: {
'build:before': async () => {
console.log('构建前置处理...');
// 清理缓存、生成版本文件等
},
'build:after': async (result) => {
console.log('构建后置处理...');
// 上传文件、发送通知等
},
'build:error': async (error) => {
console.log('构建失败处理...');
// 错误上报、恢复操作等
}
}
}
};相关命令
最佳实践
1. 环境分离
- 为不同环境使用不同的构建配置
- 通过环境变量控制构建行为
- 确保生产构建的安全性
2. 性能优化
- 启用增量构建减少构建时间
- 合理配置代码分割
- 使用现代化的构建工具
3. 质量保证
- 在构建前执行代码检查
- 生成构建报告用于分析
- 设置构建失败的自动回滚
build 命令 - 将代码转化为产品