我很难在我的项目中使用以下类型文件:
https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/log4javascript
显然,该文件缺少模块声明,导致打字稿抱怨当我在打字稿文件中放入以下语句时找不到模块“log4javascript”:
import * as log4javascript from 'log4javascript';
当我手动编辑通过运行命令安装的 index.d.ts 文件时
typings install dt~log4javascript --global --save
我添加了这个模块声明:
declare module "log4javascript" {
import test = log4javascript;
export = test;
}
在文件的末尾,编译器不再抱怨,我的代码甚至可以在不使用该import *
语句的情况下工作。
那么我应该如何使用打字文件,以便我可以将 log4javascript 与打字稿一起使用?
更新
我已经设法通过创建一个文件来解决这个问题,该custom.d.ts
文件在生成的根 index.d.ts 旁边声明 log4javascript 模块,并///<reference path="..." />
在我的 main.ts 文件中添加了一个由 requirejs 使用的语句。
我仍然不觉得这是正确的方法,但它现在有效。