如何使用JS lib,它没有d.ts或ts

dbo*_*nes 2 typescript

使用typescript我想使用JavaScript库(AMPQ lib),但我不知道如何在没有错误消息的情况下要求它,未声明函数.(新手问题)

我累了以下几点:

declare var amqp = require('amqplib');

//later on in the class
amqp.connect(params.url).then(function(conn) {
Run Code Online (Sandbox Code Playgroud)

抱怨连接功能.

也试过"var"没有声明

Fen*_*ton 5

您可以使用:

import amqp = require('amqplib');
Run Code Online (Sandbox Code Playgroud)

这依赖于......

一个) amqplib.ts

要么

B)amqplib.jsamqplib.d.ts

这也依赖于您使用--module标志进行编译.

如果找不到.d.ts这个库,可以先从名为的文件中为这些部分编写一个简单的类型定义amqplib.d.ts.

这是库的真正开放定义:

amqplib.d.ts

declare var amqplib: any;

export = amqplib;
Run Code Online (Sandbox Code Playgroud)

app.ts

import amqplib = require('amqplib');

amqplib.anything();
Run Code Online (Sandbox Code Playgroud)

你可以阅读更多关于我的博客上创建复杂类型定义.