2017-10-28 3 views
2

저는 Angular 2를 처음 사용합니다. 자습서를 따라 응용 프로그램을 만들었으므로 이제는 내 프로젝트에서 braintree를 가져오고 사용하려고합니다. 작업.Angular 2 : Braintree 가져 오기 및 사용하는 방법

는 지금까지이 짓을 :

npm install @types/braintree-web 
npm install --save braintree-web 

을 그리고 나는이 코드를 시도 :

import {Component, OnInit} from '@angular/core'; 

@Component({ 
    selector: 'app-paymenttest', 
    templateUrl: '../html/paymenttest.html', 

}) export class PaymenttestComponent implements OnInit { 

    client = require('braintree-web/client'); 
    hostedFields = require('braintree-web/hosted-fields'); 

    ngOnInit() { 
    this.client.create({ 
     authorization: 'CLIENT_AUTHORIZATION'}, 
     (err, clientInstance) => { 
     this.hostedFields.create(/* ... */); 
    }); 
    } 

} 

을하지만 난이 두 가지 오류 얻을 : 어쩌면 내가했습니다

ERROR in [...]/paymenttest.component.ts (9,12): Cannot find name 'require'. 
ERROR in [...]paymenttest.component.ts (10,18): Cannot find name 'require'. 

을 몇 걸음 봤어? 아니면 다르게 가져와야합니다 ... 누군가 좀 도와 줄 수 있습니까?

+0

systemjs 또는 webpack을 사용하고 있습니까? –

+0

내가 무엇을 사용하고 있는지 잘 모르겠다. (나는 angular.io에서 튜토리얼을 따라 갔다.) 나는 이것들이 둘 중 어느 것이 아닌지 정말로 모른다. – Antoine

답변

0

declare var require: any; 
+0

나는이 오류를 어디에 추가 하는가? ERROR TypeError : 속성 '클라이언트를 읽을 수 없다. '가 정의되지 않았습니다. 그것이 실제로 효과가 있었는지 확실하지 않은가요? – Antoine

+0

확인 필요로하는 문제가 고쳐졌습니다. 문제가 생겨서 새로운 질문을 만들 수 있습니다. 도와 드리겠습니다. –

+0

그래, 어쨌든 이유를 찾았습니다. 그러나이 선언을 typings.d.ts 파일에 추가하는 이유는 무엇입니까? 그리고 내 구성 요소의 상단에? – Antoine

0

당신은 간단한 import 문을 사용할 수 있습니다 typings.d.ts이 추가처럼 :

import { client } from 'braintree-web'; 
import { hostedFields } from 'braintree-web'; 

당신은 angular2-4과 브레인을 사용하는 방법에 example 것을 확인할 수 있습니다 .

관련 문제