当前位置:  开发笔记 > 编程语言 > 正文

Angular2上的braintree

如何解决《Angular2上的braintree》经验,为你挑选了1个好方法。

我正在尝试使用Angular2上的Braintree客户端示例(https://developers.braintreepayments.com/start/hello-client/javascript/v3).我是Angular2(和Javascript)的新手.

首先,我不确定我是否应该在package.json的依赖项下添加"braintree-web":"^ 3.6.3".或者添加


 

在index.html下.我最终做了两件事.

运行npm install之后,如果我查看node_modules/braintree-web,我只看到.js文件.我没有看到任何ts文件.这是一个问题吗?我不应该使用braintree-web吗?这个包是为Angular1编写的吗?如果我确实必须使用braintree-web,我是否还需要在index.html中包含这些2个js文件?不是braintree-web已经包含它们了吗?

在我的payment.component.ts文件中,我复制并粘贴了Braintree客户端代码:

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):错误TS2307:找不到模块'braintree-web/client'

我究竟做错了什么?



1> Jenna S..:

由于Angular2是强类型的,因此您不能只使用Braintree提供的Javascript示例代码.您需要为所有这些功能定义类型.因此,尝试将braintree-web集成到Angular2中是第一个需要安装@ types/braintree-web的线索(在package.json中).这些不是官方的Braintree类型,而是来自http://definitelytyped.org/的开源贡献.我向Braintree支持求助,他们提到你可以在Angular2中使用他们的Javascript示例代码,但是你需要为每个参数指定一个类型.他们不能推荐使用absolutetyped的类型包,因为它不是他们自己的代码.

您不需要在文件顶部添加任何其他导入,但您确实需要index.html中包含的2个Braintree Javascript文件.

推荐阅读
coco2冰冰
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有