错误 TS4058:导出函数的返回类型具有或正在使用外部模块 Y 中的名称 X,但无法命名

2024-03-12

使用 tsc v2.2.2

如何修复打字稿编译器错误:

错误 TS4058:导出函数的返回类型具有或正在使用名称 来自外部模块的“{SomeInterface}” “{某些路径}/dist/types” 但不能命名。

我有文件夹index.ts and 某事.ts

// index.ts
import something from './something'

// error will point on this export below
export default function () {
   return {
     resultFunctionFrom: something()
   };
}


// something.ts
import {ICoolInterface} from 'some-module'

export default function () {
  return function (rootOfEvil:ICoolInterface) {
     // ...
  };
}

我会用这样的代码得到这个错误:

错误 TS4058:导出函数的返回类型具有或正在使用名称 来自外部模块的“ICoolInterface” “/folder/node_modules/some-module/dist/types” 但不能命名。


对我来说,“index.ts”中默认导出的返回类型 :any 就达到了目的。并且不需要导出ICoolInterface。也许像这样使用 :any 是一种不好的做法,但至少它可以编译,并且我在“something.ts”中的函数用 arg 类型和返回类型很好地描述了。 所以这会起作用:

// index.ts
import something from './something'

// error will point on this export below
// ------------------------\/-----------
export default function ():any { // trouble solver
// ------------------------/\-----------
   return {
     resultFunctionFrom: something()
   };
}


// something.ts
import {ICoolInterface} from 'some-module'

export default function () {
  return function (rootOfEvil:ICoolInterface) {
     // ...
  };
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

错误 TS4058:导出函数的返回类型具有或正在使用外部模块 Y 中的名称 X,但无法命名 的相关文章

随机推荐