我正在使用 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;
}
当我尝试使用它时
从“../validators/validators”导入{Validator};
我收到错误 validators.ts is not a module
。
我正在使用 npm i @types/myTypes
安装我的外部类型,在安装 bluebird 并复制其结构后,我仍然看到此错误。这是 VS Code 错误还是我的错误?
最佳答案
它更简单:
export namespace Validator{
export interface String{
isValid(s:string):boolean;
}
}
只有在为外部库编写类型定义时才应该使用declare module
。对于您自己的 TypeScript 代码,请使用常规 ES6 样式的 import
和 export
语法。
关于javascript - Typescript 2.0 命名空间文件不是模块,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38730222/