换个角度想
构建像把菜谱变成能上桌的菜:菜谱(源码)人看得懂但不能直接吃;按菜谱备料、烹饪、装盘(构建),才是能端出去的东西。
术语 · 部署与运行
Build
把源代码转换、打包成可以在目标环境运行或发布的产物。
源代码变成能跑的产物
main.tsTypeScript · 300 个文件
依赖引用几十个库
构建像把菜谱变成能上桌的菜:菜谱(源码)人看得懂但不能直接吃;按菜谱备料、烹饪、装盘(构建),才是能端出去的东西。
源码改了 5 个文件
新依赖装了一个图表库
跳过本地构建
问题被原样带向线上
构建报错:图表库没进依赖清单
✓ 上线前就被拦下
线上构建到一半失败
部署中断 · 网站还是旧版
产物dist/ · 3 个文件
体积压缩后只剩零头
收齐源码和依赖
每次上线前都要先构建,产物才是部署的对象。
类型错误、漏装的依赖,构建阶段就报出来,不用等上线。
「本地好好的,线上坏了」——先看两边构建产物是否一致。
本地 npm run dev 一切正常,一执行 npm run build 就报错。这说明什么?
开发模式宽松、构建更严格:类型错误、只在本地装过的依赖,这时才现形。构建报错是在替你拦截一次线上事故——修掉再部署。
「本地能跑」不等于「能构建」,「能构建」也不等于「线上正常」。部署前先在本地把 build 跑通。