React生产构建时__snapshots__文件夹是否会被打包进生产产物?
__snapshots__文件夹是否会被纳入React生产构建包?
默认配置下不会被纳入,你的主观判断是正确的,核心原因如下:
- 生产构建仅会处理入口文件递归引用的依赖:React常用构建工具(CRA、Vite、自定义Webpack等)的生产构建入口都是业务源码入口,比如
src/index.jsx、src/main.tsx,__snapshots__是Jest生成的测试专用文件,存放路径一般和测试文件绑定,不会被业务源码引用,因此根本不会进入构建的依赖链。 - 测试相关资源默认被构建规则排除:所有主流React脚手架的默认构建配置,都会主动排除测试相关文件与目录,包括
.test.js/.spec.js后缀的测试文件、__test__/__snapshots__这类双下划线命名的测试专用目录,就算被意外引用也会被过滤。 - 你可以自行验证结论:执行生产构建命令
npm run build后,在生成的build/dist目录下全局搜索任意快照文件中的独有字符串,不会搜到对应内容;也可以使用webpack-bundle-analyzer这类打包分析工具查看产物组成,不会出现快照相关文件。
极端例外场景:仅当你手动修改构建配置,主动将__snapshots__目录纳入构建的包含范围时,才有可能被打包进生产包,这种不符合工程规范的配置几乎不会在实际项目中出现。
内容的提问来源于stack exchange,提问作者bp123
相关产品推荐
相关产品推荐

