首页 > 解决方案 > 如何使用辅助端点为 Angular 库创建 API

问题描述

设想:

ng-packagr我使用导出的自定义components和一些模型类创建了一个自定义 UI 库。

问题:

在主项目中,import语句适用于导出的组件,但它不适用于导出的类并且webpack无法编译给出错误:

找不到模块错误无法解决my-custom-library/models

图书馆项目代码:

模型类:src/app/modules/my-custom-module/models/my-model.ts

export class MyModel {
  constructor() {
    // default values for props here
  }

  // ...props here
}

索引文件:src/app/modules/my-custom-module/models/index.ts

export * from './my-model';
export * from './my-other-model';

根目录下的导出文件:models.ts

export * from './src/app/modules/my-custom-module/models/index';

ng-packagr根目录下的文件:public_api.ts

export * from './models';

export * from './src/app/modules/my-custom-module/my-custom-module.module';
export * from './src/app/modules/my-custom-module/components/index';

主要项目代码:

import {MyCustomModule} from 'my-custom-library'; // works
import {MyModel} from 'my-custom-library'; // works
import {MyModel} from 'my-custom-library/models'; // does not works

目的: 为终端开发者简化和划分 UI 库 API。

我相信,我错过了一些关于映射webpack模块解析的内容,因为 VS Code 可以识别import、intellisense 工作,甚至Ctrl + Click导航到正确的文件,但webpack编译失败。

Git问题

标签: angulartypescriptwebpackangular5ng-packagr

解决方案


我能够使用Seconday End Points.

致谢:Git IssueAlan Agius


推荐阅读