我在使用导入类中的函数时从webpack获取TypeError。
我得到TypeError: __WEBPACK_IMPORTED_MODULE_6_clients_FilesClient__.a.upload(...) is undefined
我正在通过以下方式导出我的课程:
export default(FilesClient = new FilesClient());
并将其导入我的组件:
import FilesClient from "clients/FilesClient";
当我像这样使用客户端时:
acceptedFiles.forEach(file => {
FilesClient.upload(file, this.props.proposalId)
.then(data => {
....
抛出类型错误。我不知道为什么会这样......我能够将对象以及函数记录到控制台并且请求成功,但是响应应用程序在响应恢复之前崩溃了。
这与我导出/导入其他几个客户端的方式相同,但是到目前为止我只用它们来制作GET请求...不确定为什么这个客户端搞砸了。我可以从这个客户端类中取出这个函数,这很好,只是想弄清楚Webpack的问题。
仅供参考,这是具有Webpack所说功能未定义的类:
import Client from "./Client";
class FilesClient extends Client {
upload = (file, proposalId) => {
const url = `/api/proposals/${proposalId}/uploadfile`;
let formData = new FormData();
formData.append("file", file, file.name);
fetch(url, {
method: "POST",
body: formData
}).then(response => {
if (!response.ok) {
console.log(response);
throw Error("File upload failed", response);
}
return response.json();
});
}
}
export default (FilesClient = new FilesClient());
提前致谢!
答案 0 :(得分:0)