Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Error: Arguments array must have arguments." AppModule

Tags:

When running ng serve with a successful compilation in my Angular app, I started getting the following error in the browser console.

AppComponent_Host.ngfactory.js? [sm]:1 ERROR Error: Arguments array must have arguments.  at injectArgs (core.js:1412)  at core.js:1491  at _callFactory (core.js:8438)  at _createProviderInstance (core.js:8396)  at resolveNgModuleDep (core.js:8371)  at NgModuleRef_.push../node_modules/@angular/core/fesm5/core.js.NgModuleRef_.get (core.js:9064)   at resolveDep (core.js:9429)   at createClass (core.js:9309)   at createDirectiveInstance (core.js:9186)    at createViewNodes (core.js:10406) 

This as far as I can tell from Main.ts platformBrowserDynamic().bootstrapModule(AppModule) .catch(err => console.log(err));

I have deleted the node modules folder and reinstalled and I'm having trouble with the lack of explanation the error gives. Plus, I'm somewhat new to Angular.

Any help would be greatly appreciated.

EDIT

I ran ng serve --aot and got the following error

ERROR in : Error: Internal error: unknown identifier []  at Object.importExpr$$1 [as importExpr] (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:21731:27)  at C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:9988:37  at Array.map (<anonymous>)  at InjectableCompiler.depsArray (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:9954:25)  at InjectableCompiler.factoryFor (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:10018:36)  at InjectableCompiler.injectableDef (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:10037:42)  at InjectableCompiler.compile (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:10047:106)  at C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:21576:90  at Array.forEach (<anonymous>)  at AotCompiler._emitPartialModule2 (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:21576:25)  at C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:21569:48  at Array.reduce (<anonymous>)  at AotCompiler.emitAllPartialModules2 (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler\bundles\compiler.umd.js:21568:26)  at AngularCompilerProgram._emitRender2 (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler-cli\src\transformers\program.js:364:31)  at AngularCompilerProgram.emit (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@angular\compiler-cli\src\transformers\program.js:236:22)  at AngularCompilerPlugin._emit (C:\Users\kg\Documents\ang2\ad\UI\node_modules\@ngtools\webpack\src\angular_compiler_plugin.js:846:49) 

ngModule

@NgModule({   declarations: [     AppComponent,     LoginComponent,     ItemDashboardComponent,     UnprotectedSearchComponent,     HomeComponent,     UnprotectedResultsComponent,     DashboardComponent,     TrackingListComponent,     ListItemComponent,     ActionItemComponent,     ActionListComponent,     ItemInfoTableComponent,     TrackingInfoTableComponent,     FilterPipe,     RegisterItemsComponent,     RegisterPackageComponent,     AddItemsPackageComponent,     ChangeCustodyComponent,     CheckTempComponent,     RemoveItemsComponent,     ScannerComponent,     ContainerDashboardComponent,     SoldComponent   ],   imports: [     NgQrScannerModule,     MatTabsModule,     AngularFontAwesomeModule,     MatListModule,     MatFormFieldModule,     BrowserAnimationsModule,     MatMenuModule,     MatProgressBarModule,     BrowserModule,     MatIconModule,     MatGridListModule,     AngularFontAwesomeModule,     FormsModule,     AppRoutingModule,     HttpClientModule,     RouterModule.forRoot([       {         path: 'home',         component: HomeComponent       },       //{path: 'openSearch', component: LoginComponent},       {         path: 'item',         component: ItemDashboardComponent,         canActivate: [AuthGuard, ManufacturerAuthGuardService]       },       {         path: 'dashboard',         component: DashboardComponent,         canActivate: [AuthGuard]       },       {         path: 'unprotectedResults',         component: UnprotectedResultsComponent,         canActivate: [AuthGuard]       },       {         path: 'trackingList/'+environment.config.itemWorkflow+'/:contractId',         component: ItemDashboardComponent,         canActivate: [AuthGuard]       },       {         path: 'trackingList/'+environment.config.packageWorkflow+'/:contractId',         component: ContainerDashboardComponent,         canActivate: [AuthGuard]       },       {         path: 'trackingList',         component: TrackingListComponent,         canActivate: [AuthGuard]       },       {         path: 'actions',         component: ActionListComponent,         canActivate: [AuthGuard]       },       {         path: 'publicResults/:contractId',         component: UnprotectedResultsComponent       },       {         path: 'registerItems',         component: RegisterItemsComponent,         canActivate: [AuthGuard]       },       {         path: 'addItemsToPackage',         component: AddItemsPackageComponent,         canActivate: [AuthGuard]       },       {         path: 'registerPackage',         component: RegisterPackageComponent,         canActivate: [AuthGuard]       },       {         path: 'changeCustody/:contractId',         component: ChangeCustodyComponent,         canActivate: [AuthGuard]       },       {         path: 'changeCustody',         component: ChangeCustodyComponent,         canActivate: [AuthGuard]       },       {         path: 'checkTemp',         component: CheckTempComponent,         canActivate: [AuthGuard]       },       {         path: 'removeItems',         component: RemoveItemsComponent,         canActivate: [AuthGuard]       },       {         path: 'sellItems',         component: SoldComponent,         canActivate: [AuthGuard]       },       ]),     UiModule   ],   providers: [     AuthGuard,     {       provide: HTTP_INTERCEPTORS,       useClass: MyInterceptor,       multi: true     },     MockBackend,     fakeBackendProvider,     BaseRequestOptions,     AuthGuard,     AdminAuthGuard,     AdalService,     SoldComponent   ],   bootstrap: [AppComponent] }) 

AppComponent Constructor

constructor(private api: ApiService, private adalService: AdalService, private _http: HttpClient, private router: Router, public authService: AuthService) {     this.adalService.init(environment.config);     if (!this.adalService.userInfo.authenticated) this.router.navigate(['/']);   } 
like image 298
kg123 Avatar asked Oct 11 '18 19:10

kg123


1 Answers

First, try building/serving the app with ng serve --aot flag. Chances are some warning/error will be shown at the compile time.

As far as I can think, can you search in your project, if you are importing any component/module

like this import {something} from "../node_modules/@somepackage/adfas"; instead of import {something} from "@somepackage/adfas";


Also can you please share what you have in @NgModule({}) decorator, and in AppComponent constructor();

I think the angular is not able to provide all the injected dependencies.

like image 51
Vivek Kumar Avatar answered Sep 18 '22 16:09

Vivek Kumar