我正在嘗試使用Angular2的Braintree客戶端示例(https://developers.braintreepayments.com/start/hello-client/javascript/v3)。我對Angular2(和Javascript)非常陌生。braintree on Angular2
首先,我不確定是否應該在package.json的依賴關係下添加「braintree-web」:「^ 3.6.3」。或添加
<script src="https://js.braintreegateway.com/web/3.6.3/js/client.min.js"></script>
和
<script src="https://js.braintreegateway.com/web/3.6.3/js/hosted-fields.min.js"></script>
下的index.html。我結束了兩個。
我運行npm install後,如果我查看node_modules/braintree-web,我只能看到.js文件。我沒有看到任何ts文件。這是一個問題嗎?我不應該爲此使用braintree-web嗎?這個軟件包是爲Angular1編寫的嗎?如果確實必須使用braintree-web,我是否還需要在index.html中包含這2個js文件? braintree-web不包括它們嗎?
在我payment.component.ts文件,我複製並粘貼在布倫特裏客戶端代碼:
import { braintree } from 'braintree-web/client';
...
ngOnInit() {
var authorization = '...';
var submit = document.querySelector('input[type="submit"]');
braintree.client.create({
authorization: authorization
}, function (clientErr, clientInstance) {
if (clientErr) {
當我嘗試運行TSC,我發現了以下錯誤:
app/admin/user/payment.component.ts(3,27): error TS2307: Cannot find module 'braintree-web/client'
我在做什麼錯?
您是否在app.module.ts中註冊braintree模塊? http://stackoverflow.com/questions/40353886/trying-to-integrate-braintree-web-into-angular2 – freshbm
謝謝。我注意到這個人添加了npm install @ types/braintree-web @ 3.0.1。我現在確實可以做些工作。到目前爲止,我發現我確實需要在index.html中包含js文件,而且我確實需要braintree包(除了類型)。但是......現在我在Braintree的示例代碼中遇到了麻煩。基本上,他們從服務器獲取一些對象,我嘗試寫入該類的臨時成員變量供以後使用:this.temp = hostedFieldsInstance。但是,當我這樣做時,我得到一個錯誤:Uncaught TypeError:無法讀取未定義(...)的屬性'temp'。有任何想法嗎? –
@JennaS你是如何得到它的工作?我已經複製你所做的,但我仍然收到錯誤說'找不到模塊'braintree-web/client' – nareeboy