目标入口点缺少依赖项:对于子组件

3

我有一个Angular 8库lib-a,其中包含子组件child-x和child-y。

在使用lib-a时,将其引入到Angular 9项目中时,会遇到以下构建错误:

**ERROR in The target entry-point "@abc/lib-a" has missing dependencies:

  • ./lib-a/child-x/child-x.component
  • ./lib-a/child-y/child-y.component**

ng-package.json文件内容如下:

{
  "$schema": "../../node_modules/ng-package/ng-package.schema.json",
  "dest": "../../dist/lib-a",
  "lib": {
    "entryFile": "src/public-api.ts"
  }
}

lib-a的package.json文件如下:

{
  "name": "lib-a",
  "version": "1.0.6",
  "description": "lib a",
  "peerDependencies": {
    "@angular/common": "^8.0.0",
    "@angular/core": "^8.0.0",
    "@angular/elements": "^9.1.6",
    "@angular/cdk": "^8.2.3"
  }
}

Edit: public-api.ts

export * from './lib-a/lib-a.module';
export * from './lib-a/child-x/child-x.component';
export * from './lib-a/child-y/child-y.component';

我尝试通过将组件添加到public-api.ts入口点来修复问题,但这并没有起作用。

我在网上搜索,但没有找到与此子组件相关的问题的答案。


@Savan,你解决了这个问题吗?我也遇到了同样的问题。 - DJ Burb
@DJBurb,我更新了nx.json,现在可以工作了。 - Sravan
@Sravan nx.json?我没有这个。我有一个ng-package.json。 - DJ Burb
@DJBurb,你解决了这个问题吗?我也遇到了同样的问题。 - afriedman111
@afriedman111 我完全忘记了这个问题,甚至不记得我是如何解决的 LOL。 - DJ Burb
显示剩余5条评论
2个回答

2
这个问题出现在我身上,但我解决了它。我的项目文件夹中有一个Angular库和应用程序。我尝试使用引用库的导入方式而不是组件的绝对路径,例如:import {mycomponent} from 'my-library' 而不是 import {mycomponent} from 'projects/src/lib/<etc>'。代码中仍然存在指向dist文件夹的引用。一旦我删除了dist文件夹,真正的错误就显示出来了(这些引用)。一旦我修复了这些错误,问题就解决了。

0
一个好的通用且简单的解决方案是删除 node_modules 文件夹并使用命令重新安装。
npm install

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接