Создание структурированного пакета npm - PullRequest
0 голосов
/ 09 апреля 2019

Я пытаюсь создать пакет npm, содержащий общие функции между моими угловыми приложениями. В настоящее время я могу создать плоский пакет npm, поэтому это означает, что все мои классы / компоненты / и т. Д. Доступны в основном пространстве имен:

import { Language } from 'my-shared-package';

Но я хочу импортировать так:

import { Language } from 'my-shared-package/models';

Как мне этого добиться? Возможно ли это под одним пакетом npm?

Мой public-api.ts:

export * from './lib/my-shared-package.service';
export * from './lib/my-shared-package.component';
export * from './lib/my-shared-package.module';
export * from './lib/my-shared-package.models';

// Редактировать Я нашел обходной путь. Тем не менее я не могу импортировать как «my-shared-package / models», но теперь я могу импортировать так:

import { Models } from 'my-shared';

export interface IAppState {
  language: Models.Language;
}

Мой public-api.ts:

import * as _models from './lib/my-shared.models';

// tslint:disable-next-line: no-namespace
export namespace Models {
    export import Language = _models.Language;
    export import Tag = _models.Tag;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...