3

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

我正在尝试将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 编译器)报告说它找不到模块“suncalc”。

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

此外,如果在我运行 gulp 时它是相关的,它会报告它无法找到chai或者通过 WebStorm itdescribeTSLint 对它们没有问题。

在我的项目中,我真的很想摆脱“suncalc”一词下方的红色小波浪线。

4

1 回答 1

3

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

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

declare module "suncalc" { }

代替

declare namespace suncalc { }
于 2016-08-09T14:03:46.967 回答