#статья дня
Экспорты по-умолчанию это плохо, пнятненько? Сейчас поясню.
Дал я тут более опытному товарищу свой пет-проект на ревью и заставил он меня импортировать React как пространство имён (namespace, неймспейс кто привык). Ну т. е. так:
Причина в том самом дефолтном экспорте: React импортируется целиком в ваш проект, даже когда нужно не все. И этим страдают многие библиотеки. Невозможно реализовать алгоритм т. н. treeshake — удаления ненужного из сборки.
Это, конечно, не единственный минус дефолтных экспортов. Подробнее почему не стоит их вообще использовать — эта статья:
https://humanwhocodes.com/blog/2019/01/stop-using-default-exports-javascript-module/
Если коротко и отбросить тришейкинг: снижается когнитивная нагрузка.
#js #export #import
Экспорты по-умолчанию это плохо, пнятненько? Сейчас поясню.
Дал я тут более опытному товарищу свой пет-проект на ревью и заставил он меня импортировать React как пространство имён (namespace, неймспейс кто привык). Ну т. е. так:
import * as React from “react”;Причина в том самом дефолтном экспорте: React импортируется целиком в ваш проект, даже когда нужно не все. И этим страдают многие библиотеки. Невозможно реализовать алгоритм т. н. treeshake — удаления ненужного из сборки.
Это, конечно, не единственный минус дефолтных экспортов. Подробнее почему не стоит их вообще использовать — эта статья:
https://humanwhocodes.com/blog/2019/01/stop-using-default-exports-javascript-module/
Если коротко и отбросить тришейкинг: снижается когнитивная нагрузка.
#js #export #import
Human Who Codes
Why I've stopped exporting defaults from my JavaScript modules - Human Who Codes
After years of fighting with default exports, I've changed my ways.
👍5