TSLint无法找到具有自定义d.ts文件的自定义模块

时间:2016-08-09 13:28:04

标签: typescript webstorm typescript-typings tslint

尽管有类似的问题,但我无法找到明确的答案。

我正在尝试将suncalc模块与TypeScript一起使用。它没有自己的输入文件,因此我创建了一个并将其放在suncalc/suncalc.d.ts下的我的打字文件夹中

在我的文件顶部,我有以下内容:

/// <reference path="../typings/suncalc/suncalc.d.ts" />
"use strict";

import * as moment from "moment";
import {SunTimes} from "suncalc";
import SunCalc = require("suncalc");

代码工作正常,运行和小袋鼠能够很好地检测所有内容。但是,WebStorm中的TSLint(实际上是TypeScript编译器)报告它无法找到模块&#39; suncalc&#39;。

我尝试过使用tslint.jsontypings.json以及tsd.json,但我似乎无法让他们删除错误。

此外,如果我在运行gulp时它是相关的,它会报告它无法通过WebStorm找到chaiitdescribe,但TSLint没有&#39他们有问题。

我真的很想摆脱“suncalc”这个词下面的小红色波浪线。在我的项目中。

1 个答案:

答案 0 :(得分:1)

Apparently您需要明确环境模块。 问题出在我的d.ts文件语法中。

您需要定义模块,而不仅仅是命名空间,并确保模块名称包含在“”中。 就我而言,我需要

declare module "suncalc" { }

而不是

declare namespace suncalc { }