如何正确动态导入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
相关产品推荐
相关产品推荐

