使用ES6导入节点模块时找不到模块的声明文件

时间:2018-12-19 18:36:13

标签: javascript ecmascript-6 loopback

我有设置环回4,并尝试为我的Braintree API付款编写新的控制器。我已经安装了Braintree npm模块并使用

import {braintree} from 'braintree';

导入控制器并在端点中使用。但这使我产生以下错误:

*src/controllers/braintree.controller.ts:23:25 - error TS7016: Could not find a declaration file for module 'braintree'. '/home/oem/Learning/learn-loopback/my-todo-app/node_modules/braintree/index.js' implicitly has an 'any' type.
Try `npm install @types/braintree` if it exists or add a new declaration (.d.ts) file containing `declare module 'braintree';*`

当我尝试导入es5的方式时,它工作正常。

不确定如何解决此问题。

1 个答案:

答案 0 :(得分:1)

脑树类型似乎还不存在。因此,这里有两种可能性:

  • 您按照错误提示创建类型文件,但您需要对Braintree库有充分的了解。
  • import {braintree} from 'braintree';替换为const braintree = require('braintree');,但您无权使用所有打字稿魔术,因此在操作该库时要小心。