NodeJS 中引入 ES 模块 axios

无心戈1 分钟阅读

在 index.js 内引入模块 axios

const axios = require("/workspaces/example-project/node_modules/axios")
console.debug("axios", axios)

运行node index.js会报如下错误:

Error [ERR_REQUIRE_ESM]: require() of ES Module /workspaces/example-project/node_modules/.pnpm/axios@1.6.8/node_modules/axios/index.js from /workspaces/example-project/index.js not supported.

修改成如下

const axios = require("axios")
console.debug("axios", axios)

运行node index.js正常。

结论

ES 模块仅支持通过 package.json 内的名称直接引入,而不支持通过路径引入。