typescript import错误产生的原因和解决方法 TS2349: This expression is not callable

问题出现在我封装node-fetch来满足全局自定义请求头的时候。

代码如下

import fetch from 'node-fetch'

const customHeader = {
  UserAgent:
    'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/90.0.4430.93 Safari/537.36',
}

async function myFetch(
  url: string,
  fetchConfig = {
    headers: customHeader,
  }
) {
  return fetch(url, fetchConfig)
}

export default {myFetch}

然后我在另一个文件里import执行,import {myFetch} from '../myFetch/myFetch',这样导入甚至都会报错,你必须import myFetch from '../myFetch/myFetch'这样导入

执行出现了这个错误TS2349: This expression is not callable

但是你只要把默认导出的花括号去掉就可以了

export default myFetch

这下就不会报错了。

不知道这个设计的原因是什么,明明导出多个函数的时候是不会报错的,单个的时候用花括号就报错了。

你可能感兴趣的:(typescript import错误产生的原因和解决方法 TS2349: This expression is not callable)