2
在我的TypeScript项目中,我想使用Logdown。现有节点模块的TypeScript定义文件
Logdown可以使Node.js应用程序中使用这样的:
var Logdown = require('logdown')
var logger = new Logdown({prefix: 'test'})
logger.info('Hello World');
不幸的是,Logdown不提供报关单,所以我想写一个声明文件。
与Kickstart这个小项目,我做了以下内容:
- 我克隆Logdown库
- 我创造了
package.json
文件克隆Logdown库的“分型”项,并指出它做dist/logdown.d.ts
(据 “Including declarations in your npm package”) - 我做了我TypeScrip内的克隆Logdown库当地现有的NPM包(
npm link
) - 我跑
npm link logdown
科技应用到这个节点模块的参考点到我的克隆库
之后,我创建了logdown.d.ts
文件中的内容:
export declare class Logdown {
constructor(options: Object);
public info(text: string): string;
}
我希望我可以在我的打字稿项目现在使用Logdown像这样的:
import Logdown = require("logdown");
let logger: Logdown = new Logdown();
logger.info('Hello World!');
但是,当我编译项目,我得到了以下错误:
错误TS2304:找不到名称'Logdown'。
错误TS2351:不能对类型缺少调用或构造签名的表达式使用'new'。
这可能是一个简单的拼写错误:它的拼写''在包types' .json',而不是'typings'。此外,这不适用于2.0以上的打字稿。 – artem
设置没问题。请注意,“类型”字段与“类型”同义。我认为问题出现在'logdown.d.ts'中。 –