我正在尝试创建一个具有多个模块的库,但是在模块依赖性方面存在困难。我在使用Angular 6:
"@angular-devkit/build-ng-packagr": "^0.7.0-rc.3",
"@angular-devkit/build-angular": "^0.7.0-rc.3",
"ng-packagr": "^4.0.0",
我首先使用ng g library package
创建了一个新库,该库创建了以下结构
projects
|- package
|- src
| |- lib
| | |- *.ts
| |-public_api.ts
|- ng-package.json
|- package.json
|- tsconfig.lib.json
我想添加一个子包,该子包将具有一个依赖于主包的模块。 ng-packagr用于子包的结构(据我所知)是:
projects
|- package
|- src
| |- lib
| | |- package.module.ts
| |-public_api.ts
|- ng-package.json
|- package.json
|- tsconfig.lib.json
|
|- sub-package
| |-src
| | |- sub-package.module.ts
| |- public_api.ts
| |- package.json
sub-package.module取决于package.module。我无法在sub-package.module中使用相对路径进行导入,因为我收到一条错误消息,指出该程序包的所有代码都应位于rootDir中。
当我尝试使用添加到tsconfig的ng-packagr路径时(创建库时),出现错误Cannot read property 'isSkipSelf' of null
。
我尝试将paths
和lib\externals
属性添加到子包package.json中的ngPackage对象,但这没有帮助。
我在做什么错了?