Angular6 Argument expression expected错误排查求助
解决Angular AppModule中的「Argument expression expected」语法错误
嘿,我一眼就发现你代码里的核心问题啦!问题出在imports数组里的ChartModule.forRoot调用——你漏掉了方法调用的右括号,导致整个模块的语法结构完全混乱,才会出现这种前后矛盾的报错。
错误根源分析
看你代码里的这一行:
ChartModule.forRoot(require('highcharts'),
forRoot()是一个需要闭合括号的方法调用,你只写了左括号,没写右括号,TypeScript解析器根本没法正确识别后续的模块列表,所以一会儿报「Argument expression expected」(因为它以为你还在给forRoot传参数),删了末尾逗号又报「',' expected」(因为它已经被混乱的语法搞晕了)。
修正后的完整代码
只需要给ChartModule.forRoot补上右括号,然后保持逗号分隔后续模块,同时注意最后一个模块后面不要加多余逗号:
@NgModule({ declarations: [ AppComponent, DashboardComponent, NewsitemComponent, InputClearableComponent, CreditsComponent, CompanyPortfolioComponent, EspComponent, CcstComponent, SearchNewsPipe, AssumptionsComponent, JojoComponent, SectorComponent ], imports: [ BrowserModule, FormsModule, NgbModule.forRoot(), MatFormFieldModule, MatInputModule, MatIconModule, ChartModule.forRoot(require('highcharts')), // 补上缺失的右括号 MatButtonModule, AppRoutingModule, BrowserAnimationsModule ], providers: [SearchNewsPipe], bootstrap: [AppComponent] }) export class AppModule { }
这种小括号缺失的问题很容易在复制粘贴或者快速敲代码时忽略,下次遇到类似的语法报错,可以先优先检查方法调用、数组/对象的括号是否都闭合完整~
内容的提问来源于stack exchange,提问作者yoursweater
相关产品推荐
相关产品推荐

