web应用构建与部署的本质区别
“构建”和“部署”是程序员最常听到的两个词但其实很多人最初都会混淆。1、总结构建Build把你写的“源代码”加工成能运行的“成品”。部署Deploy把这个“成品”放到服务器或应用环境中让别人能访问或使用。2、举个生活例子你可以把整个过程想象成 你写代码 → 就像在厨房做饭。阶段对应行为举例说明开发写源代码在厨房里准备食材、调味构建Build把代码编译、打包成可运行的文件把食材加工成一道完整的菜部署Deploy把菜端上桌让用户能吃把打包好的文件放到服务器上、能让用户访问3、举个 React / Vue 项目例子你本地的代码src/├── App.vue ├── main.js ├── components/└── assets/这些是开发用源码浏览器或服务器是不能直接识别这些文件的。当你执行npm run build构建工具如 webpack、vite、react-scripts会做把 .vue / .jsx / .ts 等源文件 编译成纯 JavaScript压缩代码、去掉注释把图片、字体、样式合并成最少文件输出到一个 dist 或 build 文件夹dist/├── index.html ├── assets/└── js/这就是“构建结果”它是一套真正可以运行在浏览器上的文件。然后是“部署”部署就是把上面构建出来的 dist/ 文件夹上传到服务器让别人能访问。举例场景部署方式Web前端项目把 dist/ 上传到 Nginx 或静态网站托管如 Vercel、Netlify、阿里云OSSNode.js后端项目上传到云服务器Linux并用 pm2 启动服务移动App项目打包成 APK/IPA 上传到 App Store / Play 商店构建 部署的关系图开发(src/)↓ 构建(npm run build)↓ 生成 dist/↓ 部署(上传到服务器/发布)↓ 用户访问项目网址4、小结对比表对比项构建Build部署Deploy意义生成可运行版本把运行版本放到运行环境运行地点本地服务器 / 云端工具webpack、vite、babelnginx、pm2、docker、ftp、jenkins产物dist/、build/ 文件夹线上网站、可访问URL类比做菜端菜上桌