Typescript 2.0 Namespaces文件不是模块

时间:2016-08-02 20:51:45

标签: javascript typescript

我正在使用TypeScript 2.1.0和VS Code 1.3,而我正在尝试使用TypeScript 2中的模块/命名空间系统。我有一个文件validators.ts

namespace Validator{
  export interface String{
    isValid(s:string):boolean;
  }
}
declare module 'validator'{
  export = Validator;
}

当我尝试使用它时 import {Validator} from "../validators/validators";

我收到错误validators.ts is not a module 我使用npm i @types/myTypes安装外部类型,安装蓝鸟并复制其结构后,我仍然看到此错误。这是一个VS Code错误,还是我的错误?

1 个答案:

答案 0 :(得分:6)

这简单得多:

<dependencyManagement/>

仅在为外部库编写类型定义时才应使用export namespace Validator{ export interface String{ isValid(s:string):boolean; } } 。对于您自己的TypeScript代码,请使用常规ES6样式declare moduleimport语法。