我用CLI创建了一个简单的Angular库 ng g library <library-name>
,现在我想从该库的模块中导入一个组件。我的应用程序模块中的导入数组中引入了components.module,但是我希望能够通过写以下代码来从该模块中导入组件类到另一个组件中:
import {MyComponent} from ...;
但是我做不到 - 我的IDE显示该模块没有以我的组件名称导出的成员,当我打开时它看起来像这样:
export declare class ComponentsModule {
}
以及public_api.d.ts {
export * from './lib/components.service';
export * from './lib/components.component';
export * from './lib/components.module';
此外,这里是 library-name.d.ts 文件:
/**
* Generated bundle index. Do not edit.
*/
export * from './public_api';
export { ApiErrorComponent as ɵa } from './lib/modals/api-error/api-error.component';
export { ConfirmationModalComponent as ɵb } from './lib/modals/confirmation- modal/confirmation-modal.component';
export { InfoModalComponent as ɵc } from './lib/modals/info-modal/info- modal.component';
在进行 ng build 之前,我的模块源文件如下:
import {NgModule} from '@angular/core';
import {ComponentsComponent} from './components.component';
import {ApiErrorComponent} from './modals/api-error/api-error.component';
import {ConfirmationModalComponent} from './modals/confirmation-modal/confirmation-modal.component';
import {InfoModalComponent} from './modals/info-modal/info-modal.component';
@NgModule({
imports: [],
declarations: [
ComponentsComponent,
ApiErrorComponent,
ConfirmationModalComponent,
InfoModalComponent,
],
exports: [
ComponentsComponent,
ApiErrorComponent,
ConfirmationModalComponent,
InfoModalComponent,
],
})
export class ComponentsModule {
}
为什么它不起作用,我为什么无法导入这些组件? 这是使用ng build library-name从Angular CLI自动生成的。在包中,除“lib”之外,我还有几个目录——ems2015、esm5、fesm5、fesm2015和bundles,但我认为我能够只导入我的模块并在任何地方使用它的任何组件——但看起来它们是私有的或其他原因,而使用CLI生成和构建库的文档并不是很好。
将感激所有帮助。
import { SomeService } from '@myOrg/lib/services';
和import { SomeEntity } from '@myOrg/lib/model'
? - ciekawy