2016-07-13 2 views
2

Я использовал этот (Reflect.getMetadata('annotations',AppComponent)[0].template); в plunker он работает отлично http://plnkr.co/edit/f47uORghJXaq0FtD00Th?p=previewReflect.getMetadata не работает в angular2

, но в моем проекте у меня есть эта ошибка Property 'getMetadata' does not exist on type 'typeof Reflect'

это моя конфигурация проекта

packege.json

{ 
    "name": "ng2-demo", 
    "version": "1.0.0", 
    "description": "A minimal Angular2 playground for different ng2-* components", 
    "repository": { 
    "type": "git", 
    "url": "git+https://github.com/akserg/ng2-demo" 
    }, 
    "bugs": { 
    "url": "https://github.com/akserg/ng2-demo/issues" 
    }, 
    "scripts": { 
    "install": "typings install", 
    "play": "gulp play", 
    "start": "npm run play" 
    }, 
    "homepage": "https://github.com/akserg/ng2-demo#readme", 
    "dependencies": { 
    "@angular/common": "^2.0.0-rc.1", 
    "@angular/compiler": "^2.0.0-rc.1", 
    "@angular/core": "^2.0.0-rc.1", 
    "@angular/http": "^2.0.0-rc.1", 
    "@angular/platform-browser": "^2.0.0-rc.1", 
    "@angular/platform-browser-dynamic": "^2.0.0-rc.1", 
    "@angular/router": "^2.0.0-rc.1", 
    "@angular/router-deprecated": "^2.0.0-rc.1", 
    "angular2-in-memory-web-api": "0.0.7", 
    "bootstrap": "^3.3.6", 
    "dragula": "^3.7.1", 
    "es6-promise": "~3.1.2", 
    "es6-shim": "~0.35.0", 
    "ng2-bs3-modal": "^0.6.1", 
    "ng2-ckeditor": "1.0.0", 
    "ng2-dnd": "^1.6.5", 
    "ng2-dragula": "^1.1.10", 
    "ng2-file-upload": "^1.0.3", 
    "ng2-slim-loading-bar": "^1.2.3", 
    "ng2-toasty": "^1.7.2", 
    "reflect-metadata": "0.1.2", 
    "rxjs": "5.0.0-beta.6", 
    "systemjs": "0.19.27", 
    "zone.js": "~0.6.12" 
    }, 
    "devDependencies": { 
    "connect": "^3.4.0", 
    "del": "^1.2.0", 
    "gulp": "^3.9.0", 
    "gulp-gh-pages": "^0.5.4", 
    "gulp-typescript": "^2.8.0", 
    "open": "0.0.5", 
    "serve-static": "^1.10.0", 
    "typings": "^0.6.8" 
    } 
} 

Systemjs.code.js

(function (global) { 

    // map tells the System loader where to look for things 
    var map = { 
     'dist': 'dist', // 'dist', 
     'rxjs': 'node_modules/rxjs', 
     'angular2-in-memory-web-api': 'node_modules/angular2-in-memory-web-api', 
     '@angular': 'node_modules/@angular', 
     'ng2-toasty': 'node_modules/ng2-toasty', 
     'ng2-dnd': 'node_modules/ng2-dnd', 
     'ng2-slim-loading-bar': 'node_modules/ng2-slim-loading-bar', 
     'ng2-dragula': 'node_modules/ng2-dragula', 
     'ng2-bs3-modal': 'node_modules/ng2-bs3-modal', 
     'ng2-ckeditor': 'node_modules/ng2-ckeditor/lib/', 
     'ng2-uploader':'node_modules/ng2-uploader' 
    }; 

    // packages tells the System loader how to load when no filename and/or no extension 
    var packages = { 
     'dist': {main: 'boot.js', defaultExtension: 'js'}, 
     'rxjs': {defaultExtension: 'js'}, 
     'ng2-toasty': {defaultExtension: 'js'}, 
     'ng2-dnd': {defaultExtension: 'js'}, 
     'ng2-slim-loading-bar': {defaultExtension: 'js'}, 
     'angular2-in-memory-web-api': {defaultExtension: 'js'}, 
     'ng2-ckeditor': {defaultExtension: 'js'}, 
     'ng2-dragula': {defaultExtension: 'js'}, 
     'ng2-bs3-modal': {defaultExtension: 'js'}, 
     'ng2-uploader': {defaultExtension: 'js'} 
    }; 

    var packageNames = [ 
     '@angular/common', 
     '@angular/compiler', 
     '@angular/core', 
     '@angular/http', 
     '@angular/platform-browser', 
     '@angular/platform-browser-dynamic', 
     '@angular/router', 
     '@angular/router-deprecated', 
     '@angular/testing', 
     '@angular/upgrade', 
    ]; 

    // add package entries for angular packages in the form '@angular/common': { main: 'index.js', defaultExtension: 'js' } 
    packageNames.forEach(function (pkgName) { 
     packages[pkgName] = {main: 'index.js', defaultExtension: 'js'}; 
    }); 

    var config = { 
     map: map, 
     packages: packages, 
     uiColor: '#990000' 
    } 

    // filterSystemConfig - index.html's chance to modify config before we register it. 
    if (global.filterSystemConfig) { 
     global.filterSystemConfig(config); 
    } 

    System.config(config); 

})(this); 

tsconfig.json

{ 
    "compilerOptions": { 
    "emitDecoratorMetadata": true, 
    "experimentalDecorators": true, 
    "target": "es5", 
    "module": "system", 
    "moduleResolution": "node", 
    "removeComments": true, 
    "sourceMap": true 
    }, 
    "exclude": [ 
    "node_modules", 
    "typings/main.d.ts", 
    "typings/main" 
    ] 
} 

Я до сих пор используют angular2 RC2, но я не знаю, откуда приходит ошибка и спасибо за помощь

enter image description here

+0

обновления ' "отражал-метаданные": "0.1.2"' в ' "отражают-метаданные":"^0.1.3 "и выполнить обновление npm. То, что вы видите, это просто ошибка ввода в TypeScript – PierreDuc

+0

Я изменил версию на^1.0.3, всегда та же проблема –

ответ

1

Попробуйте добавить core-js , Это библиотека с полиполками для ECMAScript 5, 6 и 7. Также установите ее типизацию. Добавить "core-js": "registry:dt/core-js#0.0.0+20160317120654" к вашему typings.json и запустить typings install

+0

Я добавил ее вот так: { "ambientDependencies": { "es6-shim": "github: ОпределенноТип/DefinitelyTyped/ES6-прокладка/ES6-shim.d.ts # 6697d6f7dadbf5773cb40ecda35a76027e0783b2" , "узел": "GitHub: DefinitelyTyped/DefinitelyTyped/узел/node.d.ts # aee0039a2d6686ec78352125010ebb38a7a7d743", "ядро-JS": «реестра: dt/core-js # 0.0.0 + 20160317120654 " } } –

3

Добавить ниже линии поверх вашего Component-

///<reference path="../node_modules/reflect-metadata/reflect-metadata.d.ts"/>" 

Предполагая, что вы используете VScode.

Посмотрите, поможет ли это.

+0

нет его не работает :( –

+0

Он работает на RC4 ... Я бы предложил обновить его RC4 вместо использования RC2 – Sanket

+0

Просто FYI ... В плункер , вы используете ngVer = '@ 2.0.0-rc.4' – Sanket

0

У меня была эта проблема после того, как я прервал процесс сборки, а затем перестроил ее, даже если проект запущен с помощью «$ ionic serve» на другой вкладке Cmder, которая решила мою проблему.

Obs: билд с "$ ионными построить андроид" команду, используя Ионные 2 CLI v2.1.18

Смежные вопросы