Angular2 + Jspm.io : 클래스 데코레이터를 사용할 때 메타데이터 반사 심이 필요합니다.
Angular2 및 SystemJS(버전: Angular@2.0.0-alpha.27 with JSPM@0.16.0-beta.2 및 SystemJS@0.18.0)에서 아래 버전의 JSPM을 실행하는 데 다음 문제가 있습니다. 컴파일된(오류 없이) 브라우저에서 다음 오류가 발생합니다.
/jspm_packages/npm/angular2@2.0.0-alpha.27/src/util/decorators.js:70 Uncaught reflect-metadata shim is required when using class decorators
이제 Reflect.js: \jspm_packages\npm\reflect-metadata@0.1.0\Reflect.js 파일을 수동으로 포함하면 문제가 해결되지만 목록이 다른 각도 파일 내에서 정의되지 않았다는 다음 문제가 나타납니다.
system.js와 typescript/jspm.io의 구성 파일(src 코드)은 아래 bitbucket src를 참조하세요.
내가 궁금한 것은 현재 jspm을 system.js와 함께 사용하여 angular가 정상적으로 작동하는 데 필요한 모든 angular 패키지를 검색하는 것이 가능한지 여부입니다. system.js에 대한 구성을 보면 각도가 이에 의존한다는 것을 명확하게 명시하고 있습니다.
"npm:angular2@2.0.0-alpha.27": {
"fs": "github:jspm/nodelibs-fs@0.1.2",
"path": "github:jspm/nodelibs-path@0.1.0",
"process": "github:jspm/nodelibs-process@0.1.1",
"reflect-metadata": "npm:reflect-metadata@0.1.0",
"rx": "npm:rx@2.5.1",
"url": "github:jspm/nodelibs-url@0.1.0",
"zone.js": "npm:zone.js@0.5.1"
},
그러나 그들은 검색되지 않습니다 (네트워크 탭을보고)
예, 당신이 찾고 있는 것이 가능하고 잘 작동합니다. 종속성이 있는 것처럼 보입니다. 최상위 유형 스크립트 또는 JavaScript 파일의 시작 부분에 있어야 하는 다음 항목만 누락되었다고 생각합니다. 특히, 이러한 항목은 Angular를 로드하는 첫 번째 줄 앞에 있어야 합니다.
import 'zone.js';
import 'reflect-metadata';
(다른 답변은 상세하지만 오프사이트 설명을 가리킵니다.)
Robwormald 는 jspm 및 typescript https://gist.github.com/robwormald/429e01c6d802767441ec에서 각도 알파 27을 사용하려고 시도하는 이 시점에서 사람들이 가질 수 있는 문제를 다루는 아주 자세한 설명을 작성했습니다.
Angular 4.4+ 환경에서 이 문제가 발생한다면 ng serve
.
ReferenceURL : https://stackoverflow.com/questions/30911861/angular2-jspm-io-reflect-metadata-shim-is-required-when-using-class-decorato
'IT이야기' 카테고리의 다른 글
레이블이 지정된 데이터와 레이블이 지정되지 않은 데이터의 차이점 (0) | 2021.09.25 |
---|---|
Xcode의 임베디드 바이너리는 무엇입니까? (0) | 2021.09.25 |
시퀀스에 대한 Python '열거'에 해당하는 ES6은 무엇입니까? (0) | 2021.09.25 |
문자열 리터럴 대신 문자열에 대해 사용자 정의 리터럴을 사용할 때의 이점 (0) | 2021.09.25 |
FutureWarning: 요소별 비교에 실패했습니다. (0) | 2021.09.25 |