在下遇到的问题就是:
导入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是什么数据类型了。

2258

被折叠的 条评论
为什么被折叠?



