意外的价值' DataTablesModule'由模块' AppModule'导入。请添加@NgModule注释

时间:2017-08-02 18:43:01

标签: angular datatables

我是Angular Data表的新手,我正按照链接https://l-lin.github.io/angular-datatables/#/getting-started

中的说明尝试实现Angular Data表

当我尝试使用Angular CLI运行应用程序时按照说明操作后,我收到了Uncaught Error:Unexpected value' DataTablesModule'由模块' AppModule'导入。请添加@NgModule注释。

注意:我在app.module.ts中添加了DataTablesModule,如下所示

import { ActionComponent } from './action/action.component';
import { SearchfilterPipe } from './search/searchfilter.pipe';
import { DataTablesModule } from 'angular-datatables';

@NgModule({
declarations: [
AppComponent,
routingComponents,
LicenseComponent,
HeaderComponent,
ActionComponent,
FooterComponent,
SearchfilterPipe

],
imports: [
BrowserModule,
HttpModule,
FormsModule,
DataTablesModule,
AppRoutingModule,
NgbModule.forRoot()
],
providers: [HttpModule],
bootstrap: [AppComponent]
})
export class AppModule { }

并在.angular-cli.json中添加了以下代码

{
"apps": [
{
  ...
  "styles": [
    "../node_modules/datatables.net-dt/css/jquery.dataTables.css"
  ],
  "scripts": [
    "../node_modules/jquery/dist/jquery.js",
    "../node_modules/datatables.net/js/jquery.dataTables.js"
  ],
  ...
 }
 ]
 }

我使用以下提供的版本。

@ angular / cli:1.1.0
 节点:8.0.0
  @ angular / compiler:4.2.3
 @ angular / core:4.2.6
 @ angular / compiler-cli:4.2.3

不明白为什么我的应用程序崩溃了。任何输入/建议都将受到高度赞赏。

2 个答案:

答案 0 :(得分:6)

首先修改您的tsconfig.json并在

中添加此块
{
  "compilerOptions": {
    ...
    "baseUrl": "./",
    "paths": {
      "@angular/*": [
        "../node_modules/@angular/*"
     ]
    }
  }
}

接下来,angular-datatables实际安装了node_modules版本,并在其中包含@angular的副本,这会导致角度版本之间发生冲突,因此请删除node_modules来自angular-datatables文件夹,你很高兴。

答案 1 :(得分:0)

你可以在aot

中运行
ng serve --aot

或使用--preserve-links选项

ng serve --preserve-symlinks