为模块定义 TypeScript 类型会给出 TS2665?

Posted

技术标签:

【中文标题】为模块定义 TypeScript 类型会给出 TS2665?【英文标题】:Defining TypeScript typing for module gives TS2665? 【发布时间】:2016-08-30 03:30:37 【问题描述】:

尝试从旧的 tsd.json 迁移到 typings.json。以前我的.d.ts 有:

declare var modname: modname.modname;

declare module modname 
    export interface modname 
        new (): modname;
    

    export interface foo 
        bar: string;
    


declare module "mod-name" 
    export = modname;

然后由于错误,我将第一行更改为:

declare var modname: modname.modname;

declare namespace modname 

然后得到:

TS2665:模块扩充无法在***范围内引入新名称。

也许我打算以不同的方式安装 Typings? - 我注意到奇怪的脚手架被自动添加到我的定义文件中,这些文件是通过以下方式安装的:

typings install github:user/typ/mod-name/mod-name.d.ts --save

【问题讨论】:

【参考方案1】:

TS2665:模块扩充无法在***范围内引入新名称。

这不再是最新的Master 版本的打字稿npm install typescript@next 中的错误

出于各种原因考虑使用此版本:https://basarat.gitbooks.io/typescript/content/docs/getting-started.html#nightly-typescript

【讨论】:

谢谢,现在尝试使用@next。结果:还原语法并从export = modname; 行获得TS2666: Exports and export assignments are not permitted in module augmentations.

以上是关于为模块定义 TypeScript 类型会给出 TS2665?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 TypeScript 定义文件中使用外部模块的类型?

如何使用在 .d.ts 文件中定义类型的模块?

amd模块化——typeScript下载于安装以及运行 ——yarn下载——TS的运行——Ts数据类型描述

TypeScript 找不到模块 flatpickr,即使它包含 typescript 类型

【ts基础】TypeScript中的数据与定义

如何从 TypeScript 文件生成类型定义文件?