如果我理解您的问题,我认为您要求命名导出优于默认导出以更好地摇树或减小包大小。
为了更好地摇树,建议使用命名导出而不是默认导出。根据这篇文章,
有时您可能会想导出一个具有许多属性的巨大对象作为默认导出。这是一种反模式,并禁止适当的摇树:
因此,不要使用默认导出作为示例 1,而是使用命名导出作为示例 2。
示例 1
// This is default export. Do not use it for better tree shaking
// export.js
export default {
propertyA: "A",
propertyB: "B",
}
// import.js
import export from './exports';
示例 2
// This is name export. Use it for better tree shaking
// export.js
export const propertyA = "A";
export const propertyB = "B";
// import.js
import { propertyA } from './exports';
因此,在第一个示例中,它将同时导出propertyA
,propertyB
而在第二个示例中,它将仅导出propertyA
,这将减小包大小。