【发布时间】:2018-11-05 04:02:57
【问题描述】:
背景:
- Angular CLI 6 引入了工作空间的概念。
- 一个工作区可以包含多个项目。
- 工作区和项目的配置位于工作区根文件夹中的“angular.json”文件中。
- 每个项目都可以是应用程序或库。
- CLI 可以使用如下命令生成一个库项目:
ng generate library forms-lib
- 此命令创建类型为的项目 带有组件和服务的“库”并导出组件。
问题:
我正在尝试创建一个库并使其中的服务可用于需要它们的应用程序,但没有成功。
此代码不起作用:
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!
有人能指出正确的方向吗?
谢谢。
【问题讨论】:
-
cli提供的默认库模板包含
@Injectable({ providedIn: 'root' })的服务,这似乎意味着您不需要在库级别提供此服务或应用程序模块(如果你想要一个 singleton service 就是)。它正常工作!
标签: angular angular-cli