我正在使用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不是一个模块
。
我使用npm i @types/myTypes
安装了外部类型,并在安装bluebird并复制其结构后仍然看到此错误。这是VS Code的错误还是我的错误?
import {String} from "../validators/validators"; as no exported member String
如果我使用import * as S from "../validators/validators";
,我在智能感知中看不到 String 接口。 - Mega Manexport interface A {...} export interface B {...}
当你使用ES6模块时,你不需要真正的命名空间。 - Mattias Buelens