web-dev-qa-db-ja.com

Angular cli build prod:TypeError:cannot read property 'kind' of undefined

Angular CLI ng build --prodそして私はこのエラーを受け取ります:

TypeErrorのエラー:未定義のプロパティ 'kind'を読み取れません

not --prodエラーは発生しません

完全なエラー:

ERROR in TypeError: Cannot read property 'kind' of undefined
    at isParameterPropertyDeclaration (node_modules/TypeScript/lib/TypeScript.js:13445:88)
    at Object.filter (node_modules/TypeScript/lib/TypeScript.js:469:31)
    at transformClassMembers (node_modules/TypeScript/lib/TypeScript.js:70813:20)
    at createClassDeclarationHeadWithoutDecorators (node_modules/TypeScript/lib/TypeScript.js:70665:110)
    at visitClassDeclaration (node_modules/TypeScript/lib/TypeScript.js:70584:19)
    at visitTypeScript (node_modules/TypeScript/lib/TypeScript.js:70432:28)
    at visitorWorker (node_modules/TypeScript/lib/TypeScript.js:70227:24)
    at sourceElementVisitorWorker (node_modules/TypeScript/lib/TypeScript.js:70252:28)
    at saveStateAndInvoke (node_modules/TypeScript/lib/TypeScript.js:70165:27)
    at sourceElementVisitor (node_modules/TypeScript/lib/TypeScript.js:70237:20)
    at visitNodes (node_modules/TypeScript/lib/TypeScript.js:67751:48)
    at Object.visitLexicalEnvironment (node_modules/TypeScript/lib/TypeScript.js:67784:22)
    at visitSourceFile (node_modules/TypeScript/lib/TypeScript.js:70521:53)
    at saveStateAndInvoke (node_modules/TypeScript/lib/TypeScript.js:70165:27)
    at transformSourceFile (node_modules/TypeScript/lib/TypeScript.js:70147:27)
    at transformSourceFileOrBundle (node_modules/TypeScript/lib/TypeScript.js:70127:20)

角度バージョン:

Angular CLI: 8.3.3
Node: 12.9.0
OS: darwin x64
Angular: 9.0.0-next.5
... animations, common, compiler, compiler-cli, core, forms
... language-service, localize, platform-browser
... platform-browser-dynamic, router

Package                            Version
------------------------------------------------------------
@angular-devkit/architect          0.900.0-next.3
@angular-devkit/build-angular      0.900.0-next.3
@angular-devkit/build-optimizer    0.900.0-next.3
@angular-devkit/build-webpack      0.900.0-next.3
@angular-devkit/core               9.0.0-next.3
@angular-devkit/schematics         8.3.3
@angular/cdk                       8.1.4
@angular/cli                       8.3.3
@angular/http                      8.0.0-beta.10
@angular/material                  8.1.4
@angular/material-moment-adapter   8.1.4
@ngtools/webpack                   9.0.0-next.3
@schematics/angular                8.3.3
@schematics/update                 0.803.3
rxjs                               6.5.3
TypeScript                         3.6.3
webpack                            4.39.3

ありがとう。

11
Yakir Tsuberi

TypeScript 3.6.4がリリースされたことを覚えておいてください。それでも、実際に機能していなかったものを以下で読んでもかまいません。

TypeScript <= 3.6.3はこの問題を示します isParameterPropertyDeclarationで親のないノードを処理する

3.7devまたは新しいbeta)をインストールすると、正常にコンパイルされます。


注:TSバージョンに関して、ビルド時にERRORを受け取った場合は、tsconfigを使用して無効にしてください。
そのためにはdisableTypeScriptVersionCheckを使用します

"angularCompilerOptions": {
  "disableTypeScriptVersionCheck": true
},
"compilerOptions": {
 ...

その他の問題が発生した場合は、コメントのチャットに従ってください。

10
LppEdd

この質問では、エラーの発生源としてisParameterPropertyDeclarationが具体的に示されていますが、この質問は、次の非常に類似したエラーを検索するときにGoogleによってリンクされる唯一の質問です。

ERROR in ./node_modules/some_library/...
Module build failed (from ./node_modules/@angular-devkit/build-optimizer/src/build-optimizer/webpack-loader.js):
TypeError: Cannot read property 'kind' of undefined

上記のエラーに対する適切な答えが見つからなかったため、参照用にここに投稿します。

このエラーの影響を受けるライブラリを使用している場合は、@angular/cliバージョンを8にアップグレードするか、本番モードで最適化を無効にする必要があります(最適化を無効にするには、projects.your_project_name.architect.build.configurations.production.optimizationtrueからfalseに変更します)。

ライブラリの所有者がAngularのバージョン6と7を完全にサポートしようとしている場合は、ライブラリのtsconfig.jsoncompilerOptions.emitDecoratorMetadatatrueに設定して再コンパイルします。これで、デコレータからすべてのメタデータをエクスポートしているので、Angularは、エクスポートされたメタデータの.kindを実行し、undefinedであった問題を修正します。

1

同じ問題が発生し、TypeScript依存関係を最新の安定バージョンに更新することで解決しました。

私の場合、バージョンは3.7でしたが、3.8にアップグレードして問題を修正しました。

0
Francesco Borzi