2016-01-19 4 views
5

Я изучаю Angular 2, и я уже последовал над учебниками Egghead, но я довольно новичок во всем, что касается Angular.Использование сторонней библиотеки (parse.com) в Angular 2

Теперь я хочу сделать что-то более продвинутое и начать использовать Parse.com с угловыми 2. Обычно я бы включать библиотеку parse.com на странице index.html через <script src="//www.parsecdn.com/js/parse-1.6.2.min.js"></script>, но я хочу написать ParseService через Угловое 2, который я могу использовать для управления бэкэндом.

Я не могу найти, как включить и использовать Parse в службе, которую я хочу написать. Это самый простой код, который я хочу использовать для проверки импорта.

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('', ''); 
    } 
} 

мне нужно какое-то импорт в верхней части страницы, включая синтаксический анализ, но откуда я должен получить нужную библиотеку? Я уже пробовал через npm, но безуспешно. Кто-нибудь уже пробовал это?

+0

Вы узнали, как импортировать {Parse} из '.../...'; // <- Это то, что я хочу делать "? Я тоже застрял там. – Sam

+0

взгляните на мой ответ, вы скрипт cdn сделал неправильно, если вы обновите его, возможно, я создам демо-версию – Aravind

ответ

-1

Что вам нужно сделать, это вам нужно скачать библиотеку Синтаксической с:

npm install parse 

Затем вам нужно ссылаться на него в процессе импорта в правильном направлении - необходимо указать в какой папке разбора .js файл размещен на.

+0

. Это не ответит, как вы импортируете Parse в angular2, как @ThijsM, указанный в разделе «import {Parse} from '.../...'; // <- Это то, что я хочу сделать " – Sam

3

uksz был прав. Вы должны сначала установить компонент с помощью команды

npm install --save parse 

После этого вы можете импортировать его как любой другой компонент, набрав

import {Parse} from 'parse'; 

Для получения дополнительной информации смотрите по этой ссылке https://forum.ionicframework.com/t/how-to-require-xyz-in-ionic2-angular2/42042

Надеются, что это помогает;)

ОБНОВЛЕНО

Wit h новая версия углового этого подхода перестала работать. Вот мой новый шаг за шагом: как использовать библиотеку Синтаксической в ​​Angular2

  1. Установите Синтаксический компонент в проект

    npm install parse --save 
    
  2. Установить типы Parse

    npm install @types/parse --save 
    
  3. импорта модуль Анализировать

    const Parse: any = require('parse'); 
    
  4. использование модуля Анализировать

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

Наслаждайтесь с IntelliSense;)

0

Вы можете сделать это с помощью OpaqueToken в Angular2

.Создайте токен, который используется для поиска экземпляра, как показано ниже в отдельном файле ts.

import { OpaqueToken } from '@angular/core' 

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

2. В вашем App.module, вам нужно импорта и объявить переменную, что это имя вашего объекта окна, который делает токен в качестве службы angular2, так что вы можете использовать свойства, методы в этом файле javascript через ваши компоненты.

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

Шаг 3: Вводят его поставщиков массива модуля.

{ provide : name_of_The_Token , useValue : name_Of_The_Window_Object } 

Руководство использовать этот маркер в компонентах

  1. Импорт лексема так же, как и любой другой сервис и @Inject от углового сердечником

    import { name_of_The_Token } from '/* file_Path */'; 
    import { Inject } from '@angular/core'; 
    
  2. В конструкторе компонента

    constructor(@Inject(name_of_The_Token) private _serviceObject : any)  
    
  3. Любой, где в компоненте вы можете использовать переменные и методы вашего файла JavaScript в

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

Примечание: Один недостаток заключается в том, что вы не получите IntelliSense.

Преодоление его: Если вы ищете IntelliSense вам нужно обернуть методы и переменные внутри интерфейса и использовать его в типе ** (вместо любого) ** ваших маркеров, как

export interface myCustom { 
     method1(args): return_Type; 
     method2(args): void; 
     ..... 
    } 
Смежные вопросы