我正在尝试使用Jenkins设置构建管道。我的构建似乎可以正常工作,但是当我尝试加载从构建生成的文件时,我在浏览器控制台中看到此错误。
Object doesn't support property or method 'getMetadata'
在我的项目代码中的任何地方都没有调用Reflect.getMetadata()
,但我意识到其中一个依赖项可能会沿线运行。在Webpack创建的生成的main.js文件中,错误发生在Reflect.getMetadata()
调用处。页面上没有任何内容。它灾难性地失败了,只是空白。
我找到了人们遇到类似问题的参考,但是我尝试了他们的解决方案,但仍然遇到相同的运行时错误。
我尝试了“ bashleigh”和“ schtauffen”所说的对他们有用的方法:https://github.com/rbuckton/reflect-metadata/issues/44
但是当我从reflect-metadata
安装npm
库时,它确实告诉我它已被弃用,不需要包含。
npm i --save @types/reflect-metadata
npm WARN deprecated @types/[email protected]: This is a stub types definition for reflect-metadata (https://github.com/rbuckton/ReflectDecorators). reflect-metadata provides its own type definitions, so you don't need @types/reflect-metadata installed!
[无论如何,我都尝试运行包含该版本的构建,只是为了查看会发生什么,但是没有任何变化。同样的错误。
这是我的package.json:
{
"name": "web-admin-angular",
"version": "0.0.0",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e"
},
"private": true,
"dependencies": {
"@angular/animation": "4.0.0-beta.8",
"@angular/animations": "8.2.14",
"@angular/cdk": "8.2.3",
"@angular/common": "8.2.14",
"@angular/compiler": "8.2.14",
"@angular/core": "8.2.14",
"@angular/forms": "8.2.14",
"@angular/http": "7.2.15",
"@angular/material": "8.2.3",
"@angular/platform-browser": "8.2.14",
"@angular/platform-browser-dynamic": "8.2.14",
"@angular/router": "8.2.14",
"@types/reflect-metadata": "^0.1.0",
"hammerjs": "^2.0.8",
"jquery": "^3.4.1",
"moment": "2.24.0",
"rxjs": "6.5.3",
"tslib": "1.10.0",
"zone.js": "0.10.2"
},
"devDependencies": {
"@angular-devkit/build-angular": "^0.803.19",
"@angular/cli": "^8.3.19",
"@angular/compiler-cli": "^8.2.14",
"@angular/language-service": "^8.2.14",
"@types/jasmine": "~3.4.6",
"@types/jasminewd2": "^2.0.8",
"@types/node": "~12.12.7",
"class-transformer": "^0.2.3",
"codelyzer": "~5.2.0",
"jasmine-core": "~3.5.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.4.1",
"karma-chrome-launcher": "~3.1.0",
"karma-coverage-istanbul-reporter": "~2.1.0",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.2",
"protractor": "~5.4.2",
"ts-node": "~8.5.0",
"tslint": "~5.20.1",
"typescript": "^3.4.5"
}
}
还有我的tsconfig.json:
{
"compileOnSave": false,
"compilerOptions": {
"baseUrl": "./",
"outDir": "./dist/out-tsc",
"sourceMap": true,
"declaration": false,
"downlevelIteration": true,
"experimentalDecorators": true,
"module": "esnext",
"moduleResolution": "node",
"importHelpers": true,
"target": "es2015",
"typeRoots": [
"node_modules/@types"
],
"lib": [
"es2018",
"dom"
],
"types": [
"reflect-metadata"
]
},
"angularCompilerOptions": {
"fullTemplateTypeCheck": true,
"strictInjectionParameters": true
}
}
我现在完全不知道还要尝试什么。任何帮助将不胜感激。