为什么当我要ng build --prod时出现此问题?

时间:2020-03-09 10:33:32

标签: html angular typescript console pdf-viewer

./ 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 \ 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)

8 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

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

"ng2-pdf-viewer": "5.3.4"

运行以下命令

npm install
npm build --prod 

它应该解决问题

答案 2 :(得分:0)

导航到您的应用程序文件夹并首先运行npm i命令,您似乎错过了很多软件包

答案 3 :(得分:0)

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

答案 4 :(得分:0)

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

答案 5 :(得分:0)

搜索了很长时间后,它对我有用。

将@ angular-devkit / build-angular升级到版本:“〜0.803.19”,然后prod构建可以正常工作。在package.json中进行了以下更改。

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

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

希望这会有所帮助!

答案 6 :(得分:0)

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

我在以下依赖项中更改了版本,并且它与-prod命令

一起使用
MotionEventBroadcaster.registerReceiver(new MotionEventReceiver() {
    @Override
    protected void onReceive(MotionEvent motionEvent) {
        Log.d(TAG, motionEvent.toString());
    }
});

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

答案 7 :(得分:0)

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

“ buildOptimizer”:否