我正在阅读《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的版本有关,但是这本书没有建议我需要使用哪些版本。
有人有什么想法吗?预先感谢。
我正在学习nodejs,我也遇到了同样的问题,尝试这个可以解决问题
import * as formidable from 'formidable';
当以这种方式导入 formidable 时,它会尝试导入具有默认导出的模块。有可能 formidable 没有使用 ES 模块的默认导出,因此这样的导入不会找到相应的默认导出。
import formidable from 'formidable';