npm run build
是前端项目中用于生成生产环境代码的核心命令,它通过执行 package.json
中定义的构建脚本,将源代码转换为优化、压缩的静态文件。以下是详细使用指南:
npm run build
实际执行的是 package.json
文件中 scripts
对象下的 build
字段定义的命令。例如:{
"scripts": {
"build": "webpack --mode production" // 或框架专属命令如 `vue-cli-service build`
}
}
build.js
),修改为:"build": "node build.js"
- **框架默认命令**:
* Vue: `vue-cli-service build`
* React: `react-scripts build`
* Angular: `ng build --prod`
uglifyjs
、cssnano
)。image-webpack-loader
)。console.log
)、启用代码混淆。dist/
或 build/
目录,包含:dist/
├─ index.html
├─ css/app.[hash].css // 带哈希防止缓存
└─ js/app.[hash].js
命令 | 用途 | 优化级别 | 热更新 |
---|---|---|---|
npm run dev |
本地开发调试 | 低(保留调试信息) | ✅ |
npm run build |
生产环境部署 | 高(极致压缩) | ❌ |
package.json
中定义不同环境脚本:"scripts": {
"build:stage": "vue-cli-service build --mode staging", // 测试环境(轻度优化)
"build:prod": "vue-cli-service build --mode production" // 生产环境(完整优化)
}
- `build:stage`:保留部分调试信息,用于预发布测试。
- `build:prod`:启用代码分割、Gzip 压缩等高级优化。
node -v
、npm -v
)。package.json
且依赖已安装(npm install
)。问题现象 | 解决方案 |
---|---|
构建失败(依赖缺失) | 删除 node_modules 后重装依赖: npm ci |
缓存导致异常 | 清除构建缓存: rm -rf node_modules/.cache |
文件体积过大 | 添加 --report 参数分析包内容: npm run build -- --report |
git clone <项目地址> # 下载代码
cd <项目目录>
npm install # 安装依赖
npm run build # 构建生产包
serve -s dist # 本地测试(需全局安装 serve)
"scripts": {
"prebuild": "npm run lint && npm test", // 构建前自动运行
"build": "webpack --mode production"
}
package.json
的 scripts
中定义命令,支持自定义脚本或框架专属指令。build:prod
极致优化。部署前务必通过 serve -s dist
本地验证构建结果。