我正在使用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错误,还是我的错误?
答案 0 :(得分:6)
这简单得多:
<dependencyManagement/>
仅在为外部库编写类型定义时才应使用export namespace Validator{
export interface String{
isValid(s:string):boolean;
}
}
。对于您自己的TypeScript代码,请使用常规ES6样式declare module
和import
语法。