2016-01-19 9 views
5

Uczę się gry Angular 2 i postępowałem zgodnie z samouczkami Eggheada, ale jestem całkiem nowy w stosunku do wszystkiego co dotyczy Angular.Skorzystaj z biblioteki stron trzecich (parse.com) w Angular 2

Teraz chcę zrobić coś bardziej zaawansowanego i rozpocząć korzystanie z Kątowymi Parse.com 2. Normalnie bym to bibliotekę parse.com na stronie index.html poprzez <script src="//www.parsecdn.com/js/parse-1.6.2.min.js"></script>, ale chcę napisać ParseService poprzez kątowe 2, które mogę wykorzystać do zarządzania backendem.

Nie mogę znaleźć sposobu włączenia i użycia funkcji Parse w usłudze, którą chcę napisać. To jest bardzo podstawowy kod, którego chcę użyć do przetestowania importu.

import {Injectable} from 'angular2/core'; 
import {Parse} from '.../...'; // <-- This is what I want to do 

@Injectable() 
export class ParseService { 
    constructor() { 
     console.log('Creating ParseService'); 

     Parse.initialize('', ''); 
    } 
} 

Potrzebuję jakiegoś rodzaju importu w górnej części strony, w tym Parse, ale skąd mam pobrać niezbędną bibliotekę? Próbowałem już przez npm, ale bez powodzenia. Ktoś już tego próbował?

+0

Czy dowiedziałeś się, jak "zaimportować {Parse} z" .../... "; // <- To właśnie chcę zrobić? Utknąłem tam także. – Sam

+0

spójrz na moją odpowiedź, jesteś skryptem, który zrobiłeś cdn jest błędny, jeśli go zaktualizujesz, to utworzę demo – Aravind

Odpowiedz

-1

Co trzeba zrobić, to musisz pobrać bibliotekę Parse z:

npm install parse 

Następnie trzeba odwołać go w imporcie we właściwy sposób - trzeba określić, w którym folderze parse Plik .js znajduje się pod adresem.

+0

To nie odpowiada za importowanie Parse w angular2 jako @ThijsM podanym w "import {Parse} from ".../..."; // <- To jest to, co chcę zrobić " – Sam

3

uksz miał rację. Państwo musi najpierw zainstalować komponent przez komendę

npm install --save parse 

Po tym można zaimportować go jak każdy inny składnik wpisując

import {Parse} from 'parse'; 

Aby uzyskać więcej informacji spojrzeć na ten link https://forum.ionicframework.com/t/how-to-require-xyz-in-ionic2-angular2/42042

nadzieję, że pomaga;)

ZAKTUALIZOWANY

Wit h nowa wersja kątowa to podejście przestało działać. Oto mój nowy krok po kroku: jak korzystać z biblioteki Parse w Angular2

  1. Install Parse komponent do projektu

    npm install parse --save 
    
  2. Install rodzajów analizowania moduł Parse

    npm install @types/parse --save 
    
  3. import

    const Parse: any = require('parse'); 
    
  4. użycie modułu Parse

    Parse.initialize("key"); 
    ... 
    

Ciesz się z intellisense;)

0

Można to zrobić za pomocą OpaqueToken w Angular2

.Utwórz token, który jest używany do znalezienia instancji, jak poniżej, w oddzielnym pliku ts.

import { OpaqueToken } from '@angular/core' 

export let name_of_The_Token = new OpaqueToken('name_Of_The_Window_Object'); 

2. W swojej App.module, trzeba importu i zadeklarować zmienną że jest nazwą okna obiektu, który sprawia, że ​​token jako usługa angular2 tak, że można użyć właściwości, metody w tym pliku javascript na twoich komponentach.

import { name_of_The_Token } from '/* file_Path */'; 
declare let name_Of_The_Window_Object : any; //below your import statements 

Krok 3: Inject to do dostawców tablicy modułu.

{ provide : name_of_The_Token , useValue : name_Of_The_Window_Object } 

Wytyczne użyć tego token składników

  1. importu tokena, tak jak innych usług i @Inject z kątowym rdzenia

    import { name_of_The_Token } from '/* file_Path */'; 
    import { Inject } from '@angular/core'; 
    
  2. W konstruktora składnika

    constructor(@Inject(name_of_The_Token) private _serviceObject : any)  
    
  3. Obojętnie gdzie w składniku można użyć zmiennych i metod pliku javascript jako

    this._serviceObject.method1() 
    this._serviceObject.variable1 
    ..... 
    

Uwaga: Jedną wadą jest to, że będzie nie dostać intellisense.

Pokonanie go: Jeśli szukasz intellisense trzeba owinąć metod i zmiennych wewnątrz interfejsu i używać go w typie ** (zamiast dowolny) ** swojego tokena jak

export interface myCustom { 
     method1(args): return_Type; 
     method2(args): void; 
     ..... 
    } 
Powiązane problemy