记录:在js中导入jsencrypt模块时,出现Error [ERR_REQUIRE_ESM]: require() of ES Module xxxxx from xxxxx not supported.报错
代码:
const JSEncrypt = require("jsencrypt")
报错:
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模块)。
按照提示语将jsencrypt.js 重命名为 jsencrypt.cjs
将上一级目录中的package.json 下的 main 值同步修改为刚刚重命名的文件,
即"main": "bin/jsencrypt.js", --->> "main": "bin/jsencrypt.cjs",文章来源:https://www.toymoban.com/news/detail-506749.html
修改好后再次回到我们写的文件中运行发现,可以正常运行了文章来源地址https://www.toymoban.com/news/detail-506749.html
到了这里,关于记录:Error [ERR_REQUIRE_ESM]: require() of ES Module not supported.报错的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!