Я пытаюсь уменьшить размер своего пакета. Я запустил webpack-bundle-analyzer .
например. на упаковке lodash
я получаю следующую статистику:
- Размер стат 527.2kb
- Разобранный размер 69.14kb
- Gzipped 23,67 КБ
Определения размера веб-пакета
Я импортирую методы lodash следующим образом:
import {uniq, get, flatten} from 'lodash';
Вопрос 1)
Мне не ясно, получаю ли я какие-либо выгоды от импорта методов напрямую, например ::1010 *
import {uniq} from 'lodash/uniq';
Некоторые тестовые статьи пишут, что это уменьшает размер пакета. Но, например, в lodash это также достигается с помощью плагина webpack. Как видно из приведенного выше примера, анализируемый размер составляет десятую часть размера стата. Так это уже сделано угловым?
Вопрос 2)
Если 1) уменьшить размер пакета, есть ли лучший способ, чем разделить импорт на несколько строк - что, впрочем, довольно загромождает код.
import {uniq, get, flatten} from 'lodash';
=>
import {uniq, get, flatten} from 'lodash/uniq';
import {uniq, get, flatten} from 'lodash/get';
import {uniq, get, flatten} from 'lodash/flatten';
ECAM6 импорт
Вопрос 3)
Если я следую рекомендации прямого импорта, я просто получаю сообщение об ошибке
error TS2305: Module '"./frontend/node_modules/@types/lodash/difference"' has no exported member 'difference'.
Нужно ли мне добавить карту для lodash (и, возможно, любой другой модуль, который я оптимизирую) в моем angular.json
?