programing

오류: \node_modules\@angular-devkit\build-angular\src\angular-cli-files\models의 'core-js/es7/reflect'를 확인할 수 없습니다.

padding 2023. 8. 16. 22:01
반응형

오류: \node_modules\@angular-devkit\build-angular\src\angular-cli-files\models의 'core-js/es7/reflect'를 확인할 수 없습니다.

Angular 7.3.6으로 업데이트한 후 서버에 다음 오류가 발생합니다.

enter image description here

./node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/jit-polyfiles.js 모듈에서 오류:'\node_modules@angular-devkit\build-angular\src\angular-cli-files\models'에서 'core-js/es7/reflect'를 확인할 수 없습니다.

여기 제 소포가 있습니다.json 종속 항목:

{
  "name": "frontend",
  "version": "0.0.0",
  "license": "MIT",
  "scripts": {
    "ng": "ng",
    "start": "ng serve",
    "build": "ng build --prod",
    "test": "ng test",
    "lint": "ng lint",
    "e2e": "ng e2e"
  },
  "private": true,
  "dependencies": {
    "@angular/animations": "^7.2.11",
    "@angular/cdk": "^7.3.6",
    "@angular/common": "^7.2.11",
    "@angular/compiler": "^7.2.11",
    "@angular/core": "^7.2.11",
    "@angular/flex-layout": "^7.0.0-beta.24",
    "@angular/forms": "^7.2.11",
    "@angular/http": "^7.2.11",
    "@angular/material": "^7.3.6",
    "@angular/platform-browser": "^7.2.11",
    "@angular/platform-browser-dynamic": "^7.2.11",
    "@angular/router": "^7.2.11",
    "adm-zip": "^0.4.13",
    "core-js": "^2.6.5",
    "hammerjs": "^2.0.8",
    "rxjs": "^6.4.0",
    "rxjs-compat": "^6.0.0-rc.0",
    "tslib": "^1.9.3",
    "zone.js": "^0.9.0"
  },
  "devDependencies": {
    "@angular-devkit/build-angular": "^0.13.7",
    "@angular/cli": "^7.3.7",
    "@angular/compiler-cli": "^7.2.11",
    "@angular/language-service": "^7.2.11",
    "@types/jasmine": "~3.3.12",
    "@types/jasminewd2": "~2.0.6",
    "@types/node": "~11.12.0",
    "codelyzer": "^5.0.0",
    "jasmine-core": "~3.3.0",
    "jasmine-spec-reporter": "~4.2.1",
    "karma": "^4.0.1",
    "karma-chrome-launcher": "~2.2.0",
    "karma-coverage-istanbul-reporter": "^2.0.5",
    "karma-jasmine": "~2.0.1",
    "karma-jasmine-html-reporter": "^1.4.0",
    "protractor": "^6.0.0",
    "ts-node": "~8.0.3",
    "tslint": "~5.14.0",
    "typescript": "3.1.6"
  }
}

설치해야 합니다.core-js@2.5.x이 파일/파일을 포함합니다.사전 설정 환경 문서를 참조하십시오.

그러나 이 버전은 알려진 문제가 있는 매우 오래된 버전이므로 지원되지 않습니다.모듈 자체에서:

"core-js@<3.23.3은 더 이상 유지 관리되지 않으며 문제의 수 때문에 사용하지 않는 것이 좋습니다.이전 core-js 버전에서는 V8 엔진 변덕으로 인해 기능 감지로 인해 폴리필된 것이 없는 경우에도 최대 100배의 속도 저하가 발생할 수 있습니다.일부 버전에는 웹 호환성 문제가 있습니다.종속성을 실제 버전의 core-js로 업그레이드하십시오."

아래의 더 나은 솔루션 중 하나를 사용하는 것을 고려해 주십시오.

버전 3.0을 사용하려면 에 경로를 추가할 수 있습니다.tsconfig.json파일.

{
    "compilerOptions": {
        ...
        "paths": {
            "core-js/es7/reflect": [
                "node_modules/core-js/proposals/reflect-metadata"
            ]
        }
    }
}

참고: 다음을 확인해야 합니다.node_modules/core-js/proposals/reflect-metadata상대 경로를 지정하고 프로젝트 구조에 필요한 경우 수정합니다.

Angular 8(소스)의 경우:

Angular CLI 8.0+는 필요한 Angular 폴리필을 직접 관리하며 프로젝트는 core-js에 직접 의존할 필요가 없습니다(애플리케이션이 수동으로 추가 core-js 폴리필을 포함하지 않는다고 가정).

해결 방법:

  • 제거core-js내게서package.json종속 관계
  • 제거import 'core-js/es7/reflect';내게서test.ts

core-js 버전 3.0에는 몇 가지 변경 사항이 있습니다.

https://github.com/zloirock/core-js/blob/master/docs/2019-03-19-core-js-3-babel-and-a-look-into-the-future.md

파일 중 하나에서 이와 유사한 행을 찾아야 합니다.import "core-js/es7/reflect";

다음으로 변경:import "core-js/proposals/reflect-metadata";

저의 경우, 저는 그냥 변했습니다 -->

import 'core-js/es6/reflect';
import 'core-js/es7/reflect';

로.

import 'core-js/es/reflect';

그리고 그것은 효과가..

끝에 있는 번호 제거'es'길에서, 마치.'core-js/es/reflect'저한테도 효과가 있었어요

EX의 경우:import 'core-js/es7/reflect';로 변경되었습니다.import 'core-js/es/reflect';

@medeni의 tsconfig.json 솔루션은 작동하지만 직접 확인하기 전에 경로를 복사하지 마십시오.내겐 다음과 같은 것이 필요했습니다.

"paths": {
  "core-js/es7/reflect": ["../node_modules/@angular-devkit/build-angular/node_modules/core-js/proposals/reflect-metadata"]
}

../는 tsconfig.json이 src/tsconfig.app.json 또는 src/tsconfig.spec.json에 의해 확장되기 때문에 /src가 작업 디렉토리입니다.

참고: Angular CLI 8.1.0을 사용하고 있습니다.

이 하여 수정했습니다.import 'core-js/proposals/reflect-metadata';내 안에서polyfills.ts

/** Evergreen browsers require these. **/
// Used for reflect-metadata in JIT. If you use AOT (and only Angular decorators), you can remove.
import 'core-js/proposals/reflect-metadata';

최신 core-js 업데이트가 있는지 확인하고 모든 것이 작동해야 합니다.

각진 최신 버전(현재 -> 9)의 경우,

호환되는 core-js 버전은 "core-js": "~2.5.0"입니다.

1) 노드 모듈 삭제

2단계) 패키지로.json 파일에서 종속 개체에 "core-js": "~2.5.0"을 씁니다.

3단계) npm 설치

그러면 완벽하게 잘 작동할 것입니다.

나는 가능한 답을 찾았습니다.core-js 버전 3.0이 있고 이 버전에는 ES6 및 ES7용 폴더가 따로 없습니다. 따라서 응용 프로그램에서 올바른 경로를 찾을 수 없습니다.

이 오류를 해결하려면 core-js 버전을 2.5.7로 다운그레이드하면 됩니다.이 버전에서는 별도의 ES6 및 ES7 폴더가 있는 올바른 카탈로그 구조를 생성합니다.

버전을 다운그레이드하려면 다음을 실행합니다.

npm i -S core-js@2.5.7

Module not found: Error: 에 대한 응답으로 경로의 "es" 끝에 있는 숫자를 제거하여 문제를 해결했습니다. 'core-js/es7/reflect'를 확인할 수 없습니다.

Angular 7의 경우

패키지에서.json 제거:

"core-js": "3.6.5",

Angular 패키지의 일부이기 때문입니다.

언급URL : https://stackoverflow.com/questions/55398923/error-cant-resolve-core-js-es7-reflect-in-node-modules-angular-devkit-bui

반응형