gpt4 book ai didi

Angular 6 包内模块依赖

转载 作者:行者123 更新时间:2023-12-04 13:59:49 25 4
gpt4 key购买 nike

我正在尝试创建一个包含多个模块的库,但在模块依赖性方面遇到困难。我正在使用 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 .

我试过添加 pathslib\externals将属性添加到子包 package.json 中的 ngPackage 对象,但这没有帮助。

我究竟做错了什么?

最佳答案

当然,您不能使用相对路径。您应该使用绝对路径,如 package-name/path/to/module .
因此,您可以创建多个包(如 package-name/corepackage-name/cli 等),也可以使用子条目。我建议你阅读 this article实现这一目标。

关于Angular 6 包内模块依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51504910/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com