在 Vite 中,使用 import * as S from './schema';
和 import { AvatarFile } from './schema';
这两种方式引入模块的打包结果是一样的,因为 Vite 在打包时会进行 Tree-shaking(树摇)优化。
Tree-shaking
是指在打包过程中,工具会分析代码中的依赖关系,只将被引用的模块打包进最终的输出文件,未被引用的模块会被剔除。这样可以减小最终打包文件的体积,提高加载性能。
无论是使用 import * as S from './schema';
还是 import { AvatarFile } from './schema';,
Vite 都会只打包被实际引用的部分,因此最终打包后的文件大小是一样的。