我正在尝试从CommonJS(.cjs)迁移到ES模块(.mjs)。为此,我替换了:
const bodyParser = require("body-parser");
与
import * as bodyParser from "body-parser";
在ES模块中。
现在,当尝试执行代码时:
app.use(bodyParser.urlencoded({
param: val
}));
我收到一个错误:
app.use(bodyParser.urlencoded({
TypeError:bodyParser.urlencoded不是函数
at file:///…/app.mjs:44:20 at ModuleJob.run (internal/modules/esm/module_job.js:110:37) at async Loader.import (internal/modules/esm/loader.js:176:24)
我用谷歌搜索了这个错误,大多数答案都提到了需要该body-parser
组件的需求。但就我而言,我已经做到了:
import * as bodyParser from "body-parser";
知道虽然导入了模块,为什么仍然会出现此类问题?
是否可以归因于ES模块导入的异步特性?
也许,我应该等到所有导入的模块都真正导入之后吗?
尝试使用:
import bodyParser from "body-parser";
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句