2

我很难在我的项目中使用以下类型文件:

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 使用的语句。
我仍然不觉得这是正确的方法,但它现在有效。

4

1 回答 1

0

我设法通过创建一个custom.d.ts文件来解决它,该文件在生成的根 index.d.ts 的类型旁边声明 log4javascript 模块,并///<reference path="..." />在我的 main.ts 文件中添加了一条语句,供 requirejs 使用。我仍然不觉得这是正确的方法,但它现在有效。

于 2018-03-29T10:51:09.657 回答