首页 文章

无法在全局d.ts中引用@types定义? [重复]

提问于
浏览
0

这个问题在这里已有答案:

我的项目中有一个全局/环境 d.ts 文件,如下所示:

/// <reference types="moment" />

declare interface SomeSharedInternalType {
    date: moment.Moment;
}

但是,编译器抱怨

无法找到命名空间'时刻'

显然,我不能使用 import 因为这些声明必须保持环境,所以如何引用这些类型定义?

1 回答

  • 1
    import * as moment from 'moment'
    

    只会导入类型定义,所以保持环境 - 它不会编译JS的任何时刻

    EDIT 这里稍微误解了这个问题,所以为了清楚起见,这在环境中将defs拉入TS项目中是正确的(这里的环境意味着它允许你使用类型,而没有任何引用的模块在编译的JS中被释放) - 但是,它不保持 .d.ts 文件环境(这里的环境意味着声明的类型不需要由使用它们的模块导入,实质上使它们成为全局类型,文件本身通过 tsconfig.json 配置包含在项目中)

相关问题