Я пытаюсь создать пакет 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;
}