1

我已将 Angular 2 应用程序更改为 RC。在我包含 HTTP_PROVIDER 并创建 service.ts 之前它运行良好。

我收到一个错误

(index):14 Error: SyntaxError: Unexpected token <(…)

我似乎无法发现原因。有人能帮忙吗 ?

这是我的 service.ts 代码

    /**
 * Created by Adjoa on 5/29/2016.
 */
import {Injectable} from  "@angular/core";
import {Http,Headers,HTTP_PROVIDERS} from "@angular/http";
import { Headers, RequestOptions } from '@angular/http';

@Injectable()

export class SignInService {
    constructor(private _http: Http){}

    postData(data:any){
        const body = JSON.stringify(data);
        const headers= new Headers();
        headers.append('Content-Type','application/json');
        return this._http.post('https://testing-angular-2.firebaseio.com/datatest.json', body, {headers:headers});
    }
}
4

1 回答 1

3

大多数情况下,当 SystemJS 无法加载模块时,您会遇到此错误。此消息背后有 404 错误。

我认为您忘记将@angular/http条目添加到 SystemJS 配置中:

var map = {
  'app': 'app', // 'dist',
  'rxjs': 'node_modules/rxjs',
  '@angular': 'node_modules/@angular'
};

var packages = {
  'app': { main: 'main.js',  defaultExtension: 'js' },
  'rxjs': { 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',
];

packageNames.forEach(function(pkgName) {
  packages[pkgName] = { main: 'index.js', defaultExtension: 'js' };
});

var config = {
  map: map,
  packages: packages
}
于 2016-06-08T19:39:32.207 回答