为什么当我想 ng build --prod 这个问题显示出来?

why when i want to ng build --prod this problem showed?

./node_modules/ng2-pdf-viewer/fesm5/ng2-pdf-viewer.js 中的错误 模块构建失败(来自 ./node_modules/@angular-devkit/build-optimizer/src/build-optimizer/webpack-loader.js): 类型错误:无法读取未定义的 属性 'kind' 在 isAngularDecoratorMetadataExpression (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\src\transforms\scrub-file.js:265:35) 在 checkNodeForDecorators (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\src\transforms\scrub-file.js:77:21) 在 visitNodes (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16144:30) 在 Object.forEachChild(E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16370:24) 在 checkNodeForDecorators (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\src\transforms\scrub-file.js:68:31) 在 visitNode (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16135:24) 在 Object.forEachChild(E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16265:21) 在 checkNodeForDecorators (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\src\transforms\scrub-file.js:68:31) 在 visitNode (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16135:24) 在 Object.forEachChild(E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16322:24) 在 checkNodeForDecorators (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\src\transforms\scrub-file.js:68:31) 在 visitNode (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16135:24) 在 Object.forEachChild(E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16333:24) 在 checkNodeForDecorators (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\src\transforms\scrub-file.js:68:31) 在 visitNode (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16135:24) 在 Object.forEachChild (E:\Mohamed Mostafa Work\new_project\reservation\node_modules@angular-devkit\build-optimizer\node_modules\typescript\lib\typescript.js:16229:21)

首先导航到您的应用程序文件夹和 运行 npm i 命令,您似乎错过了十几个包

尝试删除您的 node_modules 文件夹,然后 运行 npm i

低版本的 ng2-pdf-viewer 对我来说工作正常

我遇到了同样的错误,但最终通过以下解决方案解决了.. 首先卸载 ng2-pdf-viewer 查看器 然后安装 - npm install ng2-pdf-viewer@5.3.4

找了半天,这个对我有用。

已将@angular-devkit/build-angular 升级到版本:“~0.803.19”,然后产品构建工作正常。在 package.json.

中进行了以下更改
"devDependencies": {
  "@angular-devkit/build-angular": "~0.803.19",
   ...
}

这适用于 ng2-pdf-viewer:6.3.0 & Angular 8.3.19

希望对您有所帮助!

请将 angular-devkit 依赖项更改为 package.josn 文件中的最新版本:

我已经更改了以下依赖项中的版本并且它与 --prod 命令一起工作

"devDependencies": { "@angular-devkit/architect": "~0.803.20", "@angular-devkit/build-angular": "~0.803.20", "@angular-devkit/core": "~8.3.20", "@angular-devkit/schematics": "~8.3.20", }

这个解决方案很有魅力:)

从根文件夹中删除包-lock.json 编辑 package.json 并更改 ng2-pdf-viewer 版本如下

"ng2-pdf-viewer": "5.3.4"

运行 命令下方

npm install
npm build --prod 

应该可以解决问题

将 angular.json 中存在的以下属性设置为 false 解决了我的问题:

“buildOptimizer”:假