使用 Node.js 我收到以下错误: 有一个错误。错误 [ERR_REQUIRE_ESM]:不支持来自 /var/task/node_modules/ws.js/lib/handlers/client/security/security.js 的 ES 模块 /var/task/node_modules/dateformat/lib/dateformat.js 的 require() 。相反,将 /var/task/node_modules/ws.js/lib/handlers/client/security/security.js 中的 dateformat.js 的 require 更改为动态 import() ,该动态 import() 在所有 CommonJS 模块中都可用。
这是在我从 Node.js 12.x 版本自动升级到 16.x 后发生的。我的技能使用 WCF.js 调用 WS.js,WS.js 调用 security.js 来调用 .NET Web 服务。
使用修复 esm https://www.npmjs.com/package/fix-esm 模块并像这样导入模块:
const someModule = require("fix-esm").require("some-module");
否则您可以将模块版本降级到稳定的旧版本。