2017-10-28 71 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 tutoriel)我真的不知道這兩個都不是什麼 – Antoine

回答

0

添加到您的typings.d.ts

declare var require: any; 
+0

我得到這些錯誤添加它:錯誤TypeError:無法讀取屬性的客戶端'未定義。不確定它是否真的有效? – Antoine

+0

確定您的問題與要求是固定的,這是一個問題,你可以創建一個新的問題,我會盡力幫助 –

+0

好吧,我已經找到了爲什麼無論如何。但爲什麼將這個聲明添加到typings.d.ts文件中?而不是在我的組件的頂部? – Antoine

0

你可以用簡單的語句import就像:

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

您可以檢查example如何使用布倫特裏與angular2-4 。