我有一个用@ angular / cli构建的项目和一个由我创建的名为ng2-tools的第三方库 . 当我安装这个库并使用@angular cli运行它时出现此错误
ERROR in Ng2ToolsModule is not an NgModule
但是,如果我擦除一个模块并将其添加回来,则错误消失,应用程序运行正常 . 我不能做的是因为同样的错误而构建应用程序 . 这里是ng2-tools库的链接,master分支有已发布的代码,这是用angular / cli构建的应用程序,它抛出了开发分支上的错误是源代码 . 我应该为npm发布更多信息以免收到此错误吗?如何将图书馆捆绑成2角?我正在使用gulp来构建库,所以我可以单独编译每个文件 . 这是app.module的源代码
import { MaterialModule } from '@angular/material';
import { CommonModule } from '@angular/common';
import { BrowserModule } from '@angular/platform-browser';
import { NgModule } from '@angular/core';
import { FormsModule } from '@angular/forms';
import { HttpModule } from '@angular/http';
import { RouterModule } from '@angular/router';
import { Ng2TableModule } from 'ng2-table/ng2-table';
import { Ng2ToolsModule } from 'ng2-tools/module';
import { APP_ROUTES } from './app.routes';
import { APP_COMPONENTS } from './app-components';
import { AppComponent } from './app.component';
@NgModule({
declarations: [
AppComponent,
...APP_COMPONENTS
],
imports: [
Ng2TableModule,
CommonModule,
FormsModule,
BrowserModule,
MaterialModule,
HttpModule,
Ng2ToolsModule,
RouterModule.forRoot(APP_ROUTES)
],
bootstrap: [AppComponent]
})
export class AppModule {
}
这是Ng2ToolsModule的代码
import { NgModule } from "@angular/core";
import { AutocompleteModule, GenericFormModule } from './components/index';
import { DirectivesModule } from "./directives/directives.module";
import { CORE_SERVICES } from "./services/index";
@NgModule({
imports: [AutocompleteModule, GenericFormModule, DirectivesModule],
exports: [AutocompleteModule, GenericFormModule, DirectivesModule],
providers: [CORE_SERVICES]
})
export class Ng2ToolsModule {
}
2 回答
问题是我的构建系统没有构建兼容的bundle,我设法使用@ ngrx / store的构建配置为npm和angular> = 2构建一个库我现在正在编写一个表单组件将其移至单独的仓库我将发布到存储库的链接 .
如果你想尝试一下,这是我的图书馆 . library built using ngrx/store config
问题是我的构建系统没有构建兼容的bundle,我设法使用@ ngrx / store的构建配置为npm和angular> = 2构建一个库我现在正在编写一个表单组件将其移至单独的仓库我将发布到存储库的链接 .
如果你想尝试一下,这是我的图书馆 .
library built using ngrx/store build config