每次 build 都变个 hash,我们翻了一遍 webpack、esbuild、Rspack 的默认策略,看谁的指纹最稳
Rspack 在指纹稳定性上最接近 webpack 语义,esbuild 则不适合需要稳定 contenthash 的场景。webpack 需抽离 runtimeChunk 才能稳定,esbuild 的 hash 默认是构建级、传播范围大,Rspack 基于纯产物内容计算哈希,配置后稳定性最佳。
共 2 篇文章
Rspack 在指纹稳定性上最接近 webpack 语义,esbuild 则不适合需要稳定 contenthash 的场景。webpack 需抽离 runtimeChunk 才能稳定,esbuild 的 hash 默认是构建级、传播范围大,Rspack 基于纯产物内容计算哈希,配置后稳定性最佳。
esbuild 对 TypeScript 装饰器仅支持 TC39 Stage 3 新语法,旧版实验性装饰器语义残缺,尤其完全不支持 `emitDecoratorMetadata`,参数装饰器编译顺序也与 tsc 有差异;类型注解只做剥离、不做检查,`const enum` 不内联。NestJS、TypeORM 等依赖元数据的框架必须回退 Babel 或 tsc,纯类型擦除场景则可完全替代。