0

我正在使用以下命令来构建 Angular 项目(它在 assets 文件夹下有一些凉亭组件):

./node_modules/.bin/ng build --prod --base-href /project

在运行上述命令后,我收到以下错误:

来自 Terser 的 main-es2015.110a0182c67c95b8de43.js 中的错误错误:无法否定
AST_ClassExpression 中的语句。(/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:175355)
在 AST_ClassExpression.negate (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min. js:1:176467)
at /node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:200508
at AST_If.optimize (/node_modules/terser-webpack-plugin/node_modules/terser/dist /bundle.min.js:1:137605)
在 ai.before (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:137382)
在 AST_If.transform (/node_modules/terser -webpack-plugin/node_modules/terser/dist/bundle.min.js:1:84306)
在 /node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:84470 在 l (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1 :953)
在 e (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle.min.js:1:1273)
在 kn (/node_modules/terser-webpack-plugin/node_modules/terser/dist/bundle .min.js:1:84444)

版本

“terser”:“4.6.3”
“terser-webpack-plugin”:“3.0.3”
“webpack”:“4.39.2”
“@angular-devkit/architect”:“0.803.29”
“@angular-devkit /build-optimizer": "0.803.29"
"@angular-devkit/build-webpack": "0.803.29"
"@angular-devkit/core": "8.3.29"

我知道我们可以通过在构建命令中将优化参数设置为 false 来绕过这个,但它不会创建一个缩小的包。

关于如何解决这个问题的任何建议?

4

1 回答 1

0

就我而言,这与图书馆无关。我有以下代码出现此错误:

this.homeService.subscribe((homeEvents: HomeEvents[]) => {
            if (HomeEvents) { // Error in this line. 
              this.events.unshift(homeAnnouncement[0]);
            }
          });

HomeEvents 应该是 homeEvents,这就是它抛出这个特定错误的原因。HomeEvents 是一个类,而不是 if/else 语句的变量。希望这对其他人有所帮助,因为我花了一些时间来找出导致代码中断的位置和行。

于 2021-09-14T06:51:54.987 回答