ค้นหาเว็บไซต์

การฉีดพึ่งพา - ไม่พบบริการ http ของ Angular2


ไม่สามารถทำให้บริการ http ง่าย ๆ ทำงานใน angular2 ได้ ฉันเพียงแต่ได้รับ 404 บนบริการด้วยเหตุผลบางอย่าง มันยังไม่มีฟังก์ชันการทำงานใด ๆ แต่ดูเหมือนว่า DI จะไม่ทำงาน

ทันทีที่ฉันเพิ่ม TestService เมื่อบูตแอปพลิเคชัน ฉันได้รับข้อความดังต่อไปนี้ GET http://127.0.0.1:8080/testService 404 (ไม่พบ)

index.html

<!DOCTYPE html>
<html lang="en-GB">
    <head>
        <title>AngularJS 2 Tutorial Series</title>
        <script src="https://code.angularjs.org/2.0.0-beta.0/angular2-polyfills.js"></script>
        <script src="https://code.angularjs.org/tools/system.js"></script>
        <script src="https://code.angularjs.org/tools/typescript.js"></script>
        <script src="https://code.angularjs.org/2.0.0-beta.1/Rx.js"></script>
        <script src="https://code.angularjs.org/2.0.0-beta.1/angular2.dev.js"></script>        
        <script>
            System.config({
                transpiler: 'typescript',
                typescriptOptions: { emitDecoratorMetadata: true }
            });
            System.import('./app/app.ts');
        </script>
    </head>
    <body>

        <my-app>loading...</my-app>

    </body>
</html>

แอพ.ที

import {bootstrap} from 'angular2/platform/browser';
import {Component} from 'angular2/core';
import {Injectable} from 'angular2/core'
import {TestService} from 'testService';

@Component({
    selector: 'my-app',
    template: '<h1>My First Angular 2 App</h1>',
})

class AppComponent {
}

bootstrap(AppComponent, [TestService]);

TestService.ts

import {Http} from 'angular2/http';
import {Injectable} from 'angular2/core';

@Injectable()
export class TestService {
    constructor(public http: Http){        
    }
}

คำตอบ #1

ฉันเพิ่งเจอเรื่องนี้ แก้ไขโดยการเพิ่มการอ้างอิงสคริปต์ไปยังชุด HTTP:

<script src="node_modules/angular2/bundles/http.dev.js"></script>

ลองมันหลังจากจำได้ว่าฉันได้เพิ่มทรัพยากรที่คล้ายกันหลังจากการใช้งานการ Routing หวังว่านี่จะช่วยใครสักคน!

บทความที่เกี่ยวข้อง