You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何正确动态导入got模块并调用其中的函数?

解决Got动态导入后ReferenceError: got is not defined的问题

错误原因

你动态导入Got模块时,将默认导出赋值给了moduleGot变量,但后续请求代码中却使用了未定义的got变量,这是触发报错的直接原因。另外Got的版本差异会影响导入方式,需要注意匹配。

正确的动态导入与使用方式

情况1:Got v11及以下版本(默认导出)

// 动态导入并将默认导出赋值为got变量
const { default: got } = await import('got');

// 使用got发起请求
const response = await got(url, {
  method: 'POST',
  headers: {
    "Content-Type": `multipart/form-data; boundary=${data._boundary}`,
    "Authorization": `Bearer ${config.pinata.jwt}`
  },
  body: data
});

情况2:Got v12及以上版本(命名导出)

从v12开始,Got改用命名导出,导入方式需要调整:

// 动态导入命名导出的got
const { got } = await import('got');

// 使用got发起请求
const response = await got(url, {
  method: 'POST',
  headers: {
    "Content-Type": `multipart/form-data; boundary=${data._boundary}`,
    "Authorization": `Bearer ${config.pinata.jwt}`
  },
  body: data
});

版本确认

执行以下命令查看当前的Got版本:

npm list got

内容的提问来源于stack exchange,提问作者Falcon Stakepool

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 17:02:05