Angular 7-自定义库-无法导出简单类
我创建了一个自定义库,我发布了该库以在我的应用程序中使用Angular 7-自定义库-无法导出简单类,angular,Angular,我创建了一个自定义库,我发布了该库以在我的应用程序中使用 import { AccordionComponent } from 'my-angular-lib'; import { AccordionItemComponent } from 'my-angular-lib'; import { Tools } from 'my-angular-lib'; 这两个组件确实包括在内并正确显示 但是,当我添加一个不是指令/组件的简单类时 export class Tools { ... } 它只
import { AccordionComponent } from 'my-angular-lib';
import { AccordionItemComponent } from 'my-angular-lib';
import { Tools } 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 { AccordionComponent } from 'my-angular-lib';
import { AccordionItemComponent } from 'my-angular-lib';
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 { }
公共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';
好吧,我终于成功了 我不确定出了什么问题,我用一个新的package.json版本重新编译了这个库,并重新发布了它 突然,我的班级被找到了
奇怪,因为我昨天做了无数次在我的例子中,删除declare关键字解决构建问题
export declare class myClass{
...
}
转向
export class myClass{
...
}
添加
export*from./lib/helpers/tools.class'后代码>,您重新构建了吗?您从我的角度库
而不是e5角度库
导入是正常的吗?更正,(代码是专有的)是的,我重新构建了它