本文介绍了Angular 6 CLI 工作区.如何创建导出服务的库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
背景:
- Angular CLI 6 引入了工作区的概念.
- 一个工作区可以包含多个项目.
- 工作区和项目的配置位于工作区根文件夹中的angular.json"文件中.
- 每个项目都可以是一个应用程序或一个库.
- CLI 可以使用如下命令生成一个库项目:
ng generate library forms-lib
- 此命令创建一个类型为带有组件和服务的库"并导出组件.
问题:
我正在尝试创建一个库并使其中的服务可用于需要它们的应用程序,但没有成功.
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 工作区.如何创建导出服务的库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!