这个问题很简单,我根本不会,不信你看我把两个方法试了试,全错。throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath)

在下遇到的问题就是:
导入dateformat第三方模块竟然报错!!
throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);

PS C:\Users\Administrator\Desktop\0924code\template> node .\06.js
internal/modules/cjs/loader.js:1089
      throw new ERR_REQUIRE_ESM(filename, parentPath, packageJsonPath);
      ^

Error [ERR_REQUIRE_ESM]: Must use import to load ES Module: C:\Users\Administrator\Desktop\0924code\template\node_modules\dateformat\lib\dateformat.js
require() of ES modules is not supported.
require() of C:\Users\Administrator\Desktop\0924code\template\node_modules\dateformat\lib\dateformat.js from C:\Users\Administrator\Desktop\0924code\template\06.js is an ES module file as it is a .js file whose nearest parent package.json contains "type": "module" which defines all .js files in that package scope as ES modules.
Instead rename dateformat.js to end in .cjs, change the requiring code to use import(), or remove "type": "module" from C:\Users\Administrator\Desktop\0924code\template\node_modules\dateformat\package.json.

翻译报错的后面的提示:

PS C:\Users\Administrator\Desktop\0924code\template>节点。\06.js
内部/modules/cjs/loader.js:1089
抛出新的ERR\u REQUIRE\u ESM(文件名、父路径、packageJsonPath);
^
错误[ERR\U REQUIRE\U ESM]:必须使用导入加载ES模块:C:\Users\Administrator\Desktop\0924code\template\node\U modules\dateformat\lib\dateformat.js
ES模块的require()不受支持。
C:\Users\Administrator\Desktop\0924code\template\node\u modules\dateformat\lib\dateformat.js中的C:\Users\Administrator\Desktop\0924code\template\06.js的require()是ES模块文件,因为它是一个.js文件,其最近的父包.json包含“type”:“module”,它将该包范围内的所有.js文件定义为ES模块。
将dateformat.js重命名为.cjs,将所需代码更改为使用import(),或从C:\Users\Administrator\Desktop\0924code\template\node\u modules\dateformat\package.json中删除“type”:“module”。

有两个解决办法
1、所需代码更改为使用import()
在下遇到的问题就是:
导入dateformat第三方模块竟然报错!!

const dateformat = require('dateformat');//这个会报错
import("dateformat")
这里采用第一个方法import(),
但是少侠别着急,往后看有惊喜,大彩蛋

2、C:\Users\Administrator\Desktop\0924code\template\node\u modules\dateformat\package.json中删除“type”:“module”。

第二个的报错更离谱了。
兄弟们,我裂开了!
我导入 dateformat方法放到变量里传递给模板,
但是第一个方法会报错说dateformat不是一个函数。
那就是变量导入失败了。
写到这里,突然想起忘记打印
import()过来的dateformat是什么数据类型了。
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值