错误 TS2307:找不到模块“bluebird”

Ant*_*dez 3 import node.js typescript angular

我目前正在尝试使用Ionic 2Angular 2Typescript 版本开发应用程序。我决定使用库amqp-ts在我的应用程序中包含消息传递。我通过 npm 安装了该库,例如:

npm install amqp-ts
Run Code Online (Sandbox Code Playgroud)

一切顺利,现在我有这样的事情:

/ app root directory
+ node_modules
    - amqp-ts
        - lib 
            -  amqp-ts.d.ts
        - node_modules
            -  amqplib
            -  bluebird
            -  winston
Run Code Online (Sandbox Code Playgroud)

问题现在开始:我将库导入到我的组件中,就像在文档示例中所做的那样......

import * as Amqp from "amqp-ts";
Run Code Online (Sandbox Code Playgroud)

...当我尝试部署应用程序时,我收到以下错误消息:

TypeScript error: C:/APPs/Test/Ionic2Angular2App/node_modules/amqp-ts/lib/amqp-ts.d.ts(2,26): Error TS2307: Cannot find module 'bluebird'.
TypeScript error: C:/APPs/Test/Ionic2Angular2App/node_modules/amqp-ts/lib/amqp-ts.d.ts(50,12): Error TS2304: Cannot find name 'Buffer'.
Run Code Online (Sandbox Code Playgroud)

1.与第一条错误信息相关的行

// exported Typescript type definition for AmqpSimple
import * as Promise from "bluebird";
[...]
Run Code Online (Sandbox Code Playgroud)

2.第二条错误信息相关的那一行(同文件:amqp-ts.d.ts)

export class Message {
    content: Buffer;
    [...]
}
Run Code Online (Sandbox Code Playgroud)

我希望你能帮助我,请。

小智 6

除了常规包安装之外,您还需要安装 TypeScript 类型。类型就像头文件,它们包含所有方法/类/接口定义。

要安装打字机,您需要一个打字机工具。最好的方法是全局安装它,这样你就可以在每个项目中使用它

npm install typings --global
Run Code Online (Sandbox Code Playgroud)

然后在你的项目中安装新的类型非常简单,首先搜索库:

typings search bluebird
Run Code Online (Sandbox Code Playgroud)

安装它:

typings install --save bluebird
Run Code Online (Sandbox Code Playgroud)

更多信息:https : //github.com/typings/typings