【发布时间】:2020-03-30 22:41:18
【问题描述】:
我创建了一个自定义库,我发布了它以在我的应用程序中使用
import { AccordionComponent } from 'my-angular-lib';
import { AccordionItemComponent } from 'my-angular-lib';
这两个组件确实包含并正确显示
但是,当我添加一个不是指令/组件的简单类时..
export class Tools {
...
}
它只是在我的库模块中找不到它,在我编译我的应用程序时
ERROR in src/app/app.component.ts(10,10): error TS2305: Module '"...../node_modules/my-angular-lib/my-angular-lib"' has no exported member 'Tools'.
虽然我在public-api.ts中声明了,但还是不能使用
export * from './lib/helpers/tools.class';
我也尝试将它添加到主库模块中,但它抱怨它没有 @Directive/@Component 标签
这就是我在我的应用程序中使用它的方式
import { Tools } from 'my-angular-lib';
所有其他组件都可以使用,并且可以在我的库的名称空间中找到,没有任何问题
我已经阅读了很多帖子,但没有人给我另一个答案来解决这个问题
感谢您对此的任何帮助
[编辑:]
如果我尝试将其添加到导入/导出中,我会得到
Please add a @Pipe/@Directive/@Component annotation.
为什么我不能直接导出?
my-angular-lib.module.ts
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { FormsModule } from '@angular/forms';
import { AccordionComponent } from './widgets/accordion/accordion.component';
import { AccordionItemComponent } from './widgets/accordion/accordionItem.component';
import { PaginationComponent } from './widgets/pagination/pagination.component';
import { PaginationService } from './widgets/pagination/pagination.service';
import { PasswordComplexityComponent } from './widgets/passwordComplexity/passwordComplexity.component';
import { UpDownComponent } from './widgets/updown/updown.component';
import { Tools } from './helpers/tools.class';
@NgModule({
declarations: [
AccordionComponent,
AccordionItemComponent,
PaginationComponent,
PasswordComplexityComponent,
UpDownComponent,
Tools
],
imports: [
CommonModule,
FormsModule
],
exports: [
AccordionComponent,
AccordionItemComponent,
PaginationComponent,
PasswordComplexityComponent,
UpDownComponent,
Tools
],
providers:[PaginationService]
})
export class MyAngularLibModule { }
public-api.ts
export * from './lib/my-angular-lib.module';
export * from './lib/widgets/accordion/accordion.component';
export * from './lib/widgets/accordion/accordionItem.component';
export * from './lib/widgets/pagination/pagination.component';
export * from './lib/widgets/pagination/pagination.service';
export * from './lib/widgets/passwordComplexity/passwordComplexity.component';
export * from './lib/widgets/updown/updown.component';
export * from './lib/helpers/tools.class';
【问题讨论】:
-
添加
export * from './lib/helpers/tools.class';后,你又建了吗? -
从
my-angular-lib而不是e5-angular-lib导入正常吗?? -
已更正,(代码为专有)
-
是的,我重建了它
标签: angular