Как структурировать большую библиотеку Angular - PullRequest
0 голосов
/ 24 февраля 2020

Я создаю очень большую Angular библиотеку. Поскольку у меня много классов и компонентов, я структурировал их в иерархии. Например, у меня есть:

  • Карта
    • Панели
      • Панель инструментов
      • MainPanel
      • Et c.
    • Слои
      • BingLayer
      • WMSLayer
      • WMTSLayer
    • Геометрия
      • Точка
      • Линия
      • Полигон и др. c.

В public_api.ts у меня есть много экспортов, по одному для каждого component/module/service, который я хочу показать в библиотеке, но это сглаживает мою иерархию.

Единственный способ, который я нашел для поддержания иерархии, - это создать библиотеку для каждой группы в дереве иерархии. , Например, библиотека для панелей (Panels-lib), библиотека для слоев (Layers-lib) et c. а затем скопируйте иерархию в файловой системе, поместив каждую библиотеку в отдельную папку: папку для панелей, папку для слоев и c.

Таким образом, в основном приложении я могу импортировать компоненты в таким образом:

import {ToolBar} from "MyMap/Panels/Panels-lib";
import {Line} from "MyMap/Geometries/Geometries-lib";

Есть ли лучший способ добиться этого? Заранее спасибо.

1 Ответ

0 голосов
/ 24 февраля 2020

Я думаю, что эта статья может помочь https://medium.com/angular-in-depth/improve-spa-performance-by-splitting-your-angular-libraries-in-multiple-chunks-8c68103692d0

Вот как вы можете настроить экспорт вашей библиотеки наиболее эффективным способом с несколькими точками входа:

enter image description here

Также посмотрите, как они структурируют репо Angular Материальных компонентов , в качестве ссылки.

...