angular - Angular 6 CLI 工作区。如何创建导出服务的库
问题描述
背景:
- 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!
有人可以指出我正确的方向吗?
谢谢你。
解决方案
您可以通过将一些代码添加到public_api.ts
.
首先projects/nameOfLibProject/src/public_api.ts
在您的角度应用程序中找到,然后添加
export * from './lib/locationOf/your.service';
推荐阅读
- java - 在 Intellij 中打开 Nullable 警告
- robotframework - 如何将 RobotFramework 与 Exadata DB 连接起来?
- python - '{}+{}' 的含义
- apache-nifi - 将标签属性或命名空间读入 Nifi 流文件属性
- docker - Elasticsearch 无法访问 - Docker
- r - R中的相对频率直方图,ggplot
- arrays - 如何在 Minizinc 中连接数组的所有字符串?
- java - 无法模拟 FileInputStream
- nginx - Nginx 基本身份验证不适用于 HTTPS/域
- laravel - 文件上传限制问题 laravel