Я читал статью о использовании файлов index.ts в модульной разработке Angular. Я нашел это довольно полезным. Это может значительно сократить количество операторов импорта. Но это требует, чтобы вы включили все упомянутые компоненты в одну строку.
Итак, когда у нас изначально есть
import {BusinessLogicComponent} from '../shared/ang-graph/shapes/business-logic.component';
import {BusinessLogicModel} from '../shared/ang-graph/shapes/business-logic.model';
import {PageReferenceComponent} from '../shared/ang-graph/shapes/page-reference.component';
import {PageReferenceModel} from '../shared/ang-graph/shapes/page-reference.model';
import {RestRequestComponent} from '../shared/ang-graph/shapes/rest-request.component';
import {RestRequestModel} from '../shared/ang-graph/shapes/rest-request.model';
мы могли бы уменьшить это до
import {BusinessLogicComponent, BusinessLogicModel, PageReferenceComponent, PageReferenceModel, RestRequestComponent, RestRequestModel} from '../shared/ang-graph/shapes';
Но это дает очень длинную строку кода, которая на самом деле не читается.
Поэтому мне было интересно, можно ли заменить приведенный выше сокращенный оператор импорта, например:
import * as GraphShapes from '../shared/ang-graph/shapes';
Это снова делает все более читабельным с дополнительным преимуществом более глубокого знания происхождения компонента в коде.
Итак
const pageRef = new PageReferenceModel('page1', def, 'some-prop');
станет
const pageRef = new GraphShapes.PageReferenceModel('page1', def, 'some-prop');
Я думаю, что это более ясно в коде, но я не уверен, есть ли плохие побочные эффекты в этом подходе, такие как импорт слишком большого количества компонентов или ...
Итак, это хорошая практика для использования
import * as [GroupName] from 'path/to/code/folder';
в сочетании с index.ts
файлами?