尽管有类似的问题,但我找不到一个明确的答案。
我正在尝试将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.json
和typings.json
以及tsd.json
但我似乎无法让他们删除错误。此外,如果我运行gulp时它与此相关,它会报告它无法通过webtorm找到
chai
或it
或describe
,tslint对它们没有问题。我真的很想在我的项目中去掉“suncalc”这个词下面的红色曲线。
最佳答案
Apparently您需要明确使用环境模块。
问题出在我的d.ts文件语法中。
您需要定义模块而不仅仅是名称空间,并确保模块名包装在“”中。
在我的情况下我需要
declare module "suncalc" { }
而不是
declare namespace suncalc { }