Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
导入到typescript文件中的commonjs模块的类型是什么?_Typescript_Import_Typescript Typings_Commonjs - Fatal编程技术网

导入到typescript文件中的commonjs模块的类型是什么?

导入到typescript文件中的commonjs模块的类型是什么?,typescript,import,typescript-typings,commonjs,Typescript,Import,Typescript Typings,Commonjs,我正在Typescript源中导入CommonJS模块。因此,我收到一个包含模块导出特征的对象 在我的具体用例中,NodeJS的fs模块的声明将导出声明为typescript-module,而不是type。我需要该模块的接口声明,这样我就可以在不丢失类型信息或扩展模块的情况下传递模块对象 以下是我想做的: 从fs导入*作为fs; doSomethingWithFsfsParameter:InstanceType{ ... } 这导致 TS2709: Cannot use namespace 'f

我正在Typescript源中导入CommonJS模块。因此,我收到一个包含模块导出特征的对象

在我的具体用例中,NodeJS的fs模块的声明将导出声明为typescript-module,而不是type。我需要该模块的接口声明,这样我就可以在不丢失类型信息或扩展模块的情况下传递模块对象

以下是我想做的:

从fs导入*作为fs; doSomethingWithFsfsParameter:InstanceType{ ... } 这导致

TS2709: Cannot use namespace 'fs' as a type.
除了手动重构类型之外,还有其他方法可以从模块声明中获取类型吗

编辑: @Skovy的解决方案非常有效:

从fs导入*作为fs; 导出类型IFS=fs的类型; //IFS现在可以像声明为接口一样使用: 导出接口A扩展IFS{…} 谢谢

你试过打字吗

从fs导入*作为fs; 函数doSomethingWithFsfsParameter:typeof fs{ fsParameter.readFile。。。; }
不,我没有。我假设typeof fs==对象。fs的类型是什么?它实际上完成了我需要它做的大部分工作,除了接口X扩展了typeof fs{…}不起作用,这是我的代码sniplet中的一部分。第二部分也起作用,若不是…扩展了typeof fs,而是我为fs声明了一个类型别名,更新了问题。谢谢@Skovy,这真的很有帮助-