尽管有类似的问题,但我找不到一个明确的答案。
我正在尝试将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");

代码运行良好,Wallaby能够很好地检测出所有东西。然而,webtorm中的tslint(实际上是typescript编译器)报告说它找不到模块“suncalc”。
我试过玩我的tslint.jsontypings.json以及tsd.json但我似乎无法让他们删除错误。
此外,如果我运行gulp时它与此相关,它会报告它无法通过webtorm找到chaiitdescribe,tslint对它们没有问题。
我真的很想在我的项目中去掉“suncalc”这个词下面的红色曲线。

最佳答案

Apparently您需要明确使用环境模块。
问题出在我的d.ts文件语法中。
您需要定义模块而不仅仅是名称空间,并确保模块名包装在“”中。
在我的情况下我需要

declare module "suncalc" { }

而不是
declare namespace suncalc { }

10-06 11:48