У меня в гостях это задание, которое я задавал миллионы раз, но я не могу найти правильный ответ ...
Контекст:
Мы работаем над угловым 4.3 приложением (используя Typescript и Webpack) и планируем в скором времени перейти на угловую 6.
Проблема:
У нас есть (сгенерированный) набор моделей (интерфейсов), которые используются по всей нашей кодовой базе.
Они экспортируются из одного файла
Модели / models.ts
export * from './account';
export * from './user';
....
В Компоненте или Сервисе мы можем использовать их тремя способами
1. прямой импорт:
import {Account} from 'models/account'
...
this.account: Account;
2. импорт через models.ts:
import {Account} from 'models/models'
...
this.account: Account;
3. импорт подстановочных знаков:
import * as models from 'rest/model/models';
...
this.account: models.Account;
Нам больше нравится третий вариант, потому что он легко читается и обеспечивает чистоту импорта.
Но мы не уверены, повлияет ли это на размер нашего пакета и время сборки. Поскольку каждая модель «включена» в каждый компонент.
См:
https://github.com/webpack/webpack/tree/master/examples/harmony-unused
против
https://gist.github.com/sokra/27b24881210b56bbaff7#es6-specific-optimizations
Какая здесь самая лучшая практика?