使用 Formidable Package 时 Node JS 抛出错误

问题描述 投票:0回答:1

我正在阅读《Node.js 综合指南》教科书。

尝试使用“Formidable”包上传表单时,出现错误

const form = new formidable.IncomingForm();
                     ^

TypeError: formidable.IncomingForm is not a constructor
    at Server.<anonymous> (file:///C:/Users/mmerc/OneDrive/Programming/Web%20Dev/Node%20JS%20Comprehensive/5/index.js:39:22)
    at Server.emit (node:events:513:28)
    at parserOnIncoming (node:_http_server:1065:12)
    at HTTPParser.parserOnHeadersComplete (node:_http_common:117:17)

Node.js v18.13.0

在我使用的文件的开头

import formidable from 'formidable';

我尝试删除node_modules,然后再次执行npm install,但仍然遇到相同的错误。

我还尝试将强大的index.t.ts文件末尾的“导出”更改为“导出”,正如有人针对单个问题建议的那样,但这没有什么区别

我猜这可能与node/formidable的版本有关,但是这本书没有建议我需要使用哪些版本。

有人有什么想法吗?预先感谢。

javascript node.js npm formidable
1个回答
0
投票

我正在学习nodejs,我也遇到了同样的问题,尝试这个可以解决问题

import * as formidable from 'formidable';

当以这种方式导入 formidable 时,它会尝试导入具有默认导出的模块。有可能 formidable 没有使用 ES 模块的默认导出,因此这样的导入不会找到相应的默认导出。

import formidable from 'formidable'; 
© www.soinside.com 2019 - 2024. All rights reserved.