Как упростить импорт, например, npm в Angular - PullRequest
0 голосов
/ 07 декабря 2018

Мы использовали npm-библиотеку @ng-plus/modal в Angular.И импорт в проекте был примерно таким:

import { Modal, Toast, Alert } from '@ng-plus/modal';

Теперь мы решили изменить, и он живет как библиотека проекта в папке project/ngplus-modal нашего приложения.

Проблема, с которой мы сталкиваемся, связана с импортом.

Мы уже определили paths для проекта @modal.Мы попытались заменить импорт следующим, который не работает.

// Did not work for us: (Desired behaviour)
import { Modal, IModal, Toast, Alert } from '@modal';

Работает следующее:

import { Modal } from '@modal/lib/components/modal.component';
import { Toast } from '@modal/lib/components/toast.component';
import { IModal } from '@modal/lib/interfaces/imodal.interface';

Однако наша проблема в том, что библиотека ужереализован в более чем 100 файлах, и это не просто компоненты, а модели и интерфейсы, которые разбросаны по всей библиотеке.Как это можно организовать как импорт npm?

import { Modal, IModal, Toast, Alert } from 'package';

Ответы [ 2 ]

0 голосов
/ 07 декабря 2018

Создайте файл в каталоге @modal с именем index.ts и заполните его следующим образом:

export * from '@modal/lib/components/modal.component';
export * from '@modal/lib/components/toast.component';
export * from '@modal/lib/interfaces/imodal.interface';

А остальные компоненты должны работать без проблем.

0 голосов
/ 07 декабря 2018

Вы можете объединить все компоненты в одном определении экспорта "index.ts", например:

export * from "lib/components/modal.component";
export * from "lib/components/toast.component";

И поместить этот файл в корень вашего дерева:

  • index.ts
  • lib
    • компоненты
      • модальные ..
      • тост ...

После этого вы можете легко импортировать с вашим подходом:

import { Modal, IModal, Toast, Alert } from '@modal';
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...