网站搜索

angular - 类型错误:visitor.visitUnaryOperatorExpr 不是一个函数


我正在基于为此任务购买的模板构建一个 Angular 应用,并且与另一个人一起工作。在项目开始时,我能够使用 ng build --prod 为生产环境构建。昨天我尝试构建时,出现了错误 TypeError: visitor.visitUnaryOperatorExpr is not a function(完整错误如下)。有没有办法获取完整的堆栈跟踪或解决这个问题?我尝试了以下方法:

  1. 使用 ng build --prod --source-map=true 构建
  2. 使用 ng build --configuration=production --source-map=true 构建
  3. 通过 npm 更新所有 Node 和 Angular 包

以下是产生的堆栈跟踪:

Error: TypeError: visitor.visitUnaryOperatorExpr is not a function
    at UnaryOperatorExpr.visitExpression (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler\bundles\compiler.umd.js:1976:28)
    at NodeEmitterVisitor.visitConditionalExpr (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:468:132)
    at ConditionalExpr.visitExpression (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler\bundles\compiler.umd.js:1865:28)    at NodeEmitterVisitor.visitDeclareVarStmt (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:313:65)
    at DeclareVarStmt.visitStatement (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler\bundles\compiler.umd.js:2185:28)  
    at M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:573:105
    at Array.map (<anonymous>)
    at NodeEmitterVisitor._visitStatementsPrefix (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:573:71)
    at NodeEmitterVisitor._visitStatements (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:569:25)
    at NodeEmitterVisitor.visitFunctionExpr (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:486:40)
    at FunctionExpr.visitExpression (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler\bundles\compiler.umd.js:1951:28)   
    at M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:451:162
    at Array.map (<anonymous>)
    at NodeEmitterVisitor.visitInvokeFunctionExpr (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:451:130)
    at InvokeFunctionExpr.visitExpression (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler\bundles\compiler.umd.js:1655:28)
    at NodeEmitterVisitor.visitReturnStmt (M:\User\Documents\GitHub\Website-2.0\node_modules\@angular\compiler-cli\src\transformers\node_emitter.js:336:78)```

答案#1

我只能猜测你使用的 Angular 版本以及你在 packages.json 中的依赖项。

无论如何,我也遇到了同样的问题,看来是因为我的 Angular Compiler CLI 版本较老。在我运行 npm i @angular/compiler-cli@latest 之后,错误就消失了。