Angular 15库新增组件调用报错:export 'a-component'未找到
解决Angular 15库新增组件后导出未找到的问题
1. 确认组件的导出配置
- 打开组件所属的库模块(比如
lib.module.ts),确保AComponent已添加到declarations和exports数组中:@NgModule({ declarations: [XComponent, AComponent], exports: [XComponent, AComponent] }) export class LibModule { } - 检查库根目录下的
public-api.ts文件,必须显式导出新增的组件:
这个文件是Angular库对外暴露API的入口,未在这里导出的内容不会被打包到最终产物中。export { LibModule } from './lib/lib.module'; export { XComponent } from './lib/x-component/x-component.component'; export { AComponent } from './lib/a-component/a-component.component';
2. 清理缓存并重新构建
- 删除库项目的
dist目录,彻底清理之前的构建产物 - 执行Angular缓存清理命令:
ng cache clean - 重新构建库:
ng build your-library-name - 如果是在本地项目中引用该库,需重新安装本地包(比如通过
npm install ../path-to-your-library)或重新执行npm link,确保项目拉取到最新的构建产物。
3. 检查TS配置文件
- 打开库的
tsconfig.lib.json,确认include数组包含新增组件的文件路径,比如:
确保新组件的代码文件被TypeScript编译器纳入编译范围。{ "include": [ "src/**/*.ts", "lib/a-component/**/*.ts" ] }
4. 验证打包产物
- 进入库的
dist/your-library-name目录,查看index.d.ts文件,确认其中存在AComponent的导出声明;同时检查对应的index.js或fesm2020/your-library-name.mjs等文件,确认组件代码已被打包进去。如果不存在,说明构建过程未正确识别组件,需回到前几步排查配置问题。
内容的提问来源于stack exchange,提问作者Manhdung Pham
相关产品推荐
相关产品推荐

