繁体   English   中英

为什么当我想 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 ): TypeError: 无法读取 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\\保留\\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-优化器\\node_modules\\typescript\\lib\\typescript.js:16370:24) 在 checkNodeForDecorators (E:\\Mohamed Mostafa Work\\new_project\\reservation\\node_modules@angular-devkit\\build-optimizer\\s rc\\transforms\\scrub-file.js:68:31) at 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工作\\new_project\\reservation\\node_modules@angular-devkit\\build-optimizer\\src\\transforms\\scrub-file.js:68:31) at 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)

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

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

"ng2-pdf-viewer": "5.3.4"

运行以下命令

npm install
npm build --prod 

它应该解决这个问题

经过很长时间的搜索,这对我有用。

将 @angular-devkit/build-angular 升级到 version: "~0.803.19" 然后 prod build 工作正常。 在 package.json 中进行了以下更改。

"devDependencies": {
  "@angular-devkit/build-angular": "~0.803.19",
   ...
}

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

希望这可以帮助!

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

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

较低版本的 ng2-pdf-viewer 对我来说很好用

请将您的 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", }

这个解决方案像魅力一样工作:)

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

“构建优化器”:false

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM