Я новичок, когда дело доходит до веб-пакета, и всегда полагался на готовые возможности таких инструментов, как create-реакции-приложение, когда дело доходит до обработки сборки.Тем не менее, я только сейчас начинаю «пробовать» и разбираться в вещах - поэтому, пожалуйста, прости мое понимание новичка.
Мы используем Lodash во всем нашем приложении, и мы стараемся обеспечить импорт только того, что нам нужно,Из того, что я видел, есть 2 способа импорта:
import assign from 'lodash/assign';
import {assign} from 'lodash-es';
Я лично предпочитаю второй вариант,потому что вы можете объединить все ваши импорты в одну строку, если вы используете несколько функций Lodash.
Поэтому я установил библиотеку lodash-es, удалил lodash из моего package.json, обновил весь импорт изатем запустил чистую сборку.Однако, когда я использую source-map-explorer для просмотра комплекта, я вижу ссылки на lodash-es
, а также lodash
, хотя в моем файле package.json нет lodash.Я предполагаю, что это потому, что он поставляется где-то в create-реагировать-приложение.См. Мою карту источников ниже ...
Пример карты источников с использованием import {assign} from 'lodash-es'
соглашение
Я предположил, что это было плохо,и подумал, что я, вероятно, "дважды импортирую" функции lodash, которые уже используются / импортируются в create-реагировать-приложение.Поэтому я попытался использовать вариант 1., чтобы сделать мой импорт.Однако, к моему удивлению, на самом деле кажется, что общий размер приложения больше, а размер импорта lodash на 3K больше, чем при использовании опции 2!
Пример Sourcemap с использованием import assign from 'lodash/assign'
Convention
Итак, мой вопрос - правильно ли я интерпретирую карту исходных кодов в этом lodash-es, на самом деле это более эффективный способ импорта, и "двойной импорт""на самом деле не риск.Или соглашение варианта 1 - лучший способ приблизиться к импорту с помощью lodash?