Производительность Angular, импорт по определенному пути

#angular #webpack #lodash

#angular #webpack #Lodash

Вопрос:

Я пытаюсь уменьшить размер пакета. Я запустил webpack-bundle-analyzer.

Например, в пакете lodash я получаю следующую статистику:

  • Размер статистики 527,2КБ
  • Проанализированный размер 69,14 КБ
  • Gzz 23.67кб

Определения размера Webpack

Я импортирую методы Lodash следующим образом:

import {uniq, get, flatten} from 'lodash';

Вопрос 1)

Мне не ясно, получаю ли я какие-либо преимущества от прямого импорта методов, например.:

import {uniq} from 'lodash/uniq';

В некоторых статьях о тестировании пишут, что это уменьшает размер пакета. Но, например, с Lodash это, похоже, также достигается с помощью плагина webpack. Как видно из приведенного выше примера, анализируемый размер составляет 10% от размера статистики. Так это уже сделано angular?

Вопрос 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 ?