打字稿:导入js模块时忽略任何类型

时间:2016-12-28 09:48:45

标签: typescript

在Typescript项目中,我需要导入一些在自己内部执行module.exports的旧js文件。

我导入:

import * as httpConnection from '...path...';

我从编译器中得到错误:

Could not find a declaration file for module '...path...'. '...path...' implicitly has an 'any' type.

之后它运行正常,但我需要在控制台中避免此错误。

如何让编译器了解导入是否有任何类型而不创建声明文件?

提前感谢您的想法。

2 个答案:

答案 0 :(得分:3)

这意味着你应该输入这个模块。 Typescript对此模块隐式没有任何定义文件感到满意。

如果它是外部公共模块,您可能只能使用npm install @types/name_of_the_module

安装其类型

如果是私人代码,或者您无法找到它,则可以在其旁边添加.d.ts,以便理想地输入其所有功能。如果您愿意牺牲打字,因为您没有时间这样做,您可以在模块上使用以下any

明确.d.ts类型
declare var name_of_the_module: any;

declare module "name_of_the_module" {
    export = name_of_the_module;
}

答案 1 :(得分:3)

您可以在项目的根目录中创建一个名为global.d.ts的文件,并将其添加:

declare module '*';