我有一个来自外部的API模块。当它被安装为node_module(使用npm install)时,这样导入就可以工作:
import MyAPI from 'api'
然而,当我查看node_modules中的api文件夹并取出api.js时,这是模块的入口点,然后进行相对导入,如下所示:
import MyAPI from './api.js'
然后我遇到了错误:
"The requested module ./api.js does not provide an export named 'default'"
我无法控制api模块的构建方式。它为什么在一个场景下可用,而在另一个场景下则不行?这是Node 12。
package.json
没有 包含"type": "module"
,但是你的模块(显然)包含了该项,因为你正在使用 ESM。当通过 ESM 加载旧式 CommonJS 模块时,Node.js 会进行一些自动转换(详情)。 - T.J. Crowderapi.js
的输出是什么样子的? - T.J. Crowder