Я пытаюсь уменьшить размер пакета моего проекта nextjs, и у меня проблема с тряской дерева. Позволь мне объяснить. У меня есть файл Flags.js, который экспортирует компонент с несколькими флагами:
export { default as FlagsCn } from './FlagsCn';
export { default as FlagsDe } from './FlagsDe';
export { default as FlagsEsCt } from './FlagsEsCt';
export { default as FlagsEs } from './FlagsEs';
export { default as FlagsFr } from './FlagsFr';
export { default as FlagsGb } from './FlagsGb';
export { default as FlagsGr } from './FlagsGr';
export { default as FlagsIt } from './FlagsIt';
export { default as FlagsJp } from './FlagsJp';
export { default as FlagsNo } from './FlagsNo';
export { default as FlagsPh } from './FlagsPh';
export { default as FlagsPt } from './FlagsPt';
export { default as FlagsRu } from './FlagsRu';
export { default as FlagsTh } from './FlagsTh';
export { default as FlagsBg } from './FlagsBg';
Затем я импортирую в другой компонент только два флага:
import { FlagsFr, FlagsGb } from '@components/Flags';
Но я заметил, что все флаги импортируются, когда я заглядываю в пакет с помощью webpack-bundle-analyzer. Если я применю sideEffects к false в package.json, размер файла пакета js уменьшится на 400 КБ, но во время навигации у меня возникнет странная ошибка. Я думаю, это означает, что некоторые библиотеки вызывают побочные эффекты.
Так что я должен делать ? Спасибо за помощь :)