本文介绍了Angular 6 CLI工作区.如何创建导出服务的库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
背景:
- Angular CLI 6引入了工作区的概念.
- 一个工作区可以包含多个项目.
- 工作区和项目的配置位于工作区根文件夹中的"angular.json"文件中.
- 每个项目可以是应用程序或库.
- CLI可以使用以下命令生成一个项目,该项目是一个库:
ng generate library forms-lib
- 此命令创建一个类型的项目具有组件和服务的库",并导出该组件.
- This command creates a project of type'library' with a component and service and exports the component.
问题:
我试图创建一个库并使其中的服务可用于需要它们的应用程序中,但没有成功.
I am trying, without success, to create a library and make the services in it available for use in applications which need them.
此代码不起作用:
import { NgModule } from '@angular/core';
import { FormsLibComponent } from './forms-lib.component';
import { FormsLibService } from './forms-lib.service';
@NgModule({
imports: [],
declarations: [FormsLibComponent],
exports: [FormsLibComponent, FormsLibService],
})
export class FormsLibModule {
}
返回错误:
Uncaught Error: Can't export value FormsLibService from FormsLibModule
as it was neither declared nor imported!
有人可以指出我正确的方向吗?
Can someone point me in the right direction?
谢谢.
推荐答案
这可能为您解决问题:
import { NgModule, ModuleWithProviders } from '@angular/core';
import { FormsLibComponent } from './forms-lib.component';
import { FormsLibService } from './forms-lib.service';
@NgModule({
declarations: [FormsLibComponent],
exports: [FormsLibComponent],
})
export class FormsLibModule {
static forRoot(): ModuleWithProviders {
return {
ngModule: FormsLibModule,
providers: [FormsLibService]
};
}
}
这篇关于Angular 6 CLI工作区.如何创建导出服务的库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!