gpt4 book ai didi

node.js - Node ,强大 - 为什么 require 可以工作,而 import 却不能?

转载 作者:行者123 更新时间:2023-12-03 08:30:08 27 4
gpt4 key购买 nike

对于强大的 npm 包,当我使用 import * as formidable from "formidable" 时,我收到一条错误消息,指出 formidable({ multiples: true }) 是不可调用。然而,当我使用 const formidable = require("formidable") 时,一切都会按预期运行,并且 formidable 会被执行。谁能解释一下为什么会发生这种情况?

import express from "express";
import path from "path";
import fs from "fs/promises";
import * as formidable from "formidable";
// const formidable = require("formidable");

const PORT = 8000;
const app = express();

app.get("/", async (req, res) => {
res.sendFile(path.resolve(__dirname, "..", "public", "index.html"));
});

app.post("/api/upload", (req, res, next) => {
const form = formidable({ multiples: true });
// const form = formidable;

form.parse(req, (err: any, fields: any, files: any) => {
if (err) {
next(err);
return;
}
res.json({ fields, files });
});
});

最佳答案

formidable 包没有默认导出,因此以下构造将不起作用:

import formidable from "formidable";

尽你所能seeindex.d.ts 中,您可以使用 IncomingForm 类和几个接口(interface)。

因此您的导入将如下所示:

import {IncomingForm} from "formidable";

然后按照 documentation 中的描述使用它对于包。

关于node.js - Node ,强大 - 为什么 require 可以工作,而 import 却不能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65368903/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com