Я только что обновил Angular от rc-1
до последнего rc-3
.
Приложение использует JavaScript ES6 и SystemJS. Когда я запускаю приложение с браузером, он работает. Но если я свяжу приложение (с помощью systemjs-builder), а затем запустим его, у меня есть эта ошибка в консоли браузера.
При использовании декораторов классов не требуется обрезка метаданных рефлекса.
Проблема возникает из компонента, использующего @angular/http
с базовым HTTP-вызовом, если я удаляю import {Http, HTTP_PROVIDERS} from '@angular/http' ;
, он работает.
Кроме того, это не происходит с TypeScript, но это происходит с JS ES5 и ES6. Также это не происходит с Webpack.
Я просмотрел связанный код и кажется, что SystemJS проходит через Angular
код до Reflect
code... только с es6
index.js
import 'reflect-metadata';
import 'es6-shim';
import 'zone.js';
import {bootstrap} from '@angular/platform-browser-dynamic';
import {App} from './app.js';
bootstrap(App);
app.js
import {Component} from '@angular/core';
import {Http, HTTP_PROVIDERS} from '@angular/http';
@Component({
selector: 'App',
template: '',
providers: [HTTP_PROVIDERS]
})
export class App {
constructor(http) {}
static get parameters() {
return [[Http]];
}
}