我是 angular2 的新手,我已经成功地创建了三个用于创建/编辑、查看和列出员工的组件,组件选择器就像<create-employee>, <view-employee>, <list-employee>
一样。
我的要求是我需要在nodejs库中创建一个单独的npm包,以便公开分发这个员工模块,这样单个npm模块应该具有所有这三个组件。
到目前为止,我确实在本文档的帮助下创建了一个 npm 包。我可以将其作为节点模块安装到我的应用程序中,并成功地完成了创建员工功能。但我缺少的是另外两个组成部分。与其为视图和列表创建另外两个节点包,不如在单个 npm 包中提供这三个组件。
我期待的是:
app.module.ts
import { EmployeeModule } from 'employee-library';
@NgModule({
declarations: [..],
imports: [EmployeeModule],
providers: [],
bootstrap: [AppComponent]
})
user-create.component.html
<create-employee></create-employee>
user-view.component.html
<view-employee></view-employee>
user-list.component.html
<list-employee></list-employee>
3 个组件包装在EmployeeModule
import { NgModule } from '@angular/core';
// import ... 3 modules
@NgModule({
declarations: [ CreateEmployee, ViewEmployee, ListEmployee ],
imports: [...],
providers: [...],
exports: [ CreateEmployee, ViewEmployee, ListEmployee ]
})
export class EmployeeModule{ }
然后公开你的库,之后,你可以使用你的模块
import { EmployeeModule } from 'employee-library';
@NgModule({
declarations: [..],
imports: [EmployeeModule],
providers: [],
bootstrap: [AppComponent]
})
export class AppModule{ }
exports : Array|any[]> 指定 可以在任何模板中使用的指令/管道/模块 作为导入此角度的 Angular 模块的一部分的组件 模块。
文档链接 https://angular.io/docs/ts/latest/api/core/index/NgModule-interface.html#!#exports-anchor