创建结构化的npm包

时间:2019-04-09 08:53:34

标签: angular typescript npm

我正在尝试创建包含我的角度应用程序之间共享功能的npm软件包。 目前,我可以创建平面npm包,这意味着我的所有类/组件/ etc都可以在主命名空间下使用:

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;
}

0 个答案:

没有答案