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
ありがとう。
TypeScript 3.6.4がリリースされたことを覚えておいてください。それでも、実際に機能していなかったものを以下で読んでもかまいません。
TypeScript <= 3.6.3
はこの問題を示します isParameterPropertyDeclarationで親のないノードを処理する 。
3.7
(dev
または新しいbeta
)をインストールすると、正常にコンパイルされます。
注:TSバージョンに関して、ビルド時にERROR
を受け取った場合は、tsconfig
を使用して無効にしてください。
そのためにはdisableTypeScriptVersionCheck
を使用します
"angularCompilerOptions": {
"disableTypeScriptVersionCheck": true
},
"compilerOptions": {
...
その他の問題が発生した場合は、コメントのチャットに従ってください。
この質問では、エラーの発生源として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.optimization
をtrue
からfalse
に変更します)。
ライブラリの所有者がAngularのバージョン6と7を完全にサポートしようとしている場合は、ライブラリのtsconfig.json
でcompilerOptions.emitDecoratorMetadata
をtrue
に設定して再コンパイルします。これで、デコレータからすべてのメタデータをエクスポートしているので、Angularは、エクスポートされたメタデータの.kind
を実行し、undefined
であった問題を修正します。
同じ問題が発生し、TypeScript
依存関係を最新の安定バージョンに更新することで解決しました。
私の場合、バージョンは3.7
でしたが、3.8
にアップグレードして問題を修正しました。