记录:Error [ERR_REQUIRE_ESM]: require() of ES Module not supported.报错

记录:在js中导入jsencrypt模块时,出现Error [ERR_REQUIRE_ESM]: require() of ES Module xxxxx from xxxxx not supported.报错

代码:

javascript 复制代码
const JSEncrypt = require("jsencrypt")

报错:

javascript 复制代码
const JSEncrypt = require("jsencrypt")
                  ^

Error [ERR_REQUIRE_ESM]: require() of ES Module D:\yj_pj\node_modules\jsencrypt\bin\jsencrypt.js from D:\yj_pj\YWF\test123\wenshu.js not supported.
jsencrypt.js is treated as an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which declares all .js files in that package scope as ES modules.
Instead rename jsencrypt.js to end in .cjs, change the requiring code to use dynamic import() which is available in all CommonJS modules, or change "type": "module" to "type": "commonjs" in D:\yj_pj\no
de_modules\jsencrypt\package.json to treat all .js files as CommonJS (using .mjs for all ES modules instead).

    at Object.<anonymous> (D:\yj_pj\YWF\test123\wenshu.js:3:19) {
  code: 'ERR_REQUIRE_ESM'
}

解决办法:

将提示语翻译过来:

将jsencrypt.js重命名为以.cjs结尾,将所需代码更改为使用所有CommonJS模块中可用的dynamicimport(),或将D:\yj_pj\no中的"type":"module"更改为"type""CommonJS"

de_modules\jsencrypt\package.json将所有.js文件视为CommonJS(将.mjs用于所有ES模块)。

  1. 按照提示语将jsencrypt.js 重命名为 jsencrypt.cjs
  1. 将上一级目录中的package.json 下的 main 值同步修改为刚刚重命名的文件,

即"main": "bin/jsencrypt.js", --->> "main": "bin/jsencrypt.cjs",

修改好后再次回到我们写的文件中运行发现,可以正常运行了

相关推荐
小周码代码19 分钟前
js 数字金额转为大写 js 金额转大写
开发语言·前端·javascript·js工具
不一样的少年_24 分钟前
不仅免费,还开源?这个 AI Mock 神器我必须曝光它
前端·javascript·浏览器
WZl27 分钟前
在传统的HTML、CSS与JavaScript项目中加入vue
javascript·css·vue.js·html
MadPrinter28 分钟前
FindQC 实战 (二):挑战 Google Lens —— 基于 Playwright 的隐匿模式与反爬虫机制构建
爬虫
BillKu30 分钟前
html2pdf.js使用与配置详解
开发语言·javascript·ecmascript
无·糖30 分钟前
大学生HTML期末大作业——HTML+CSS+JavaScript人物明星(周杰伦)
javascript·css·html·课程设计·大学生·大作业·web网页设计作业
Aerelin35 分钟前
豆瓣数据采集案例
前端·爬虫·python·js·playwright
2***65631 小时前
windows下安装并使用node.js
windows·node.js
San30.1 小时前
深入 JavaScript 原型与面向对象:从对象字面量到类语法糖
开发语言·javascript·ecmascript
锂享生活1 小时前
金句闪卡生成器
前端·javascript·react.js