尝试使用
node main.js
运行我的节点应用程序,但收到此错误:Error [ERR_REQUIRE_CYCLE_MODULE]: Cannot require() ES Module
。我也试过node --experimental-specifier-resolution=node main.js
。
我的
main.js
文件使用常规 esm 语法从 './schema/index.js'
导入内容,例如:import { importName } from './schema/index.js'
。我没有使用 require,所以不知道为什么它要指责我。
完整错误如下所示。
我在这里做错了什么?
→ node main.js
node:internal/modules/esm/loader:315
throw new ERR_REQUIRE_CYCLE_MODULE(message);
^
Error [ERR_REQUIRE_CYCLE_MODULE]: Cannot require() ES Module /path/to/app/schema/index.js in a cycle. (from /path/to/app/noop.js)
at ModuleLoader.importSyncForRequire (node:internal/modules/esm/loader:315:15)
at loadESMFromCJS (node:internal/modules/cjs/loader:1414:24)
at Module._compile (node:internal/modules/cjs/loader:1547:5)
at Object..js (node:internal/modules/cjs/loader:1677:16)
at Module.load (node:internal/modules/cjs/loader:1318:32)
at Function._load (node:internal/modules/cjs/loader:1128:12)
at TracingChannel.traceSync (node:diagnostics_channel:322:14)
at wrapModuleLoad (node:internal/modules/cjs/loader:219:24)
at Module.require (node:internal/modules/cjs/loader:1340:12)
at require (node:internal/modules/helpers:138:16) {
code: 'ERR_REQUIRE_CYCLE_MODULE'
}
Node.js v22.12.0
PS。没有名为
noop.js
的文件,我不知道那部分是什么意思!有人见过这个吗?
package.json:
{
"name": "writing-api-subgraph-storybook",
"version": "0.0.1",
"dependencies": {},
"packageManager": "[email protected]",
"module": "./main.js",
"type": "module",
"main": "./main.js"
}
在nodejs工作的情况下,包导入对于nodejs来说不起作用,我在下面写的首先安装你的包,然后导入nodejs主文件,然后使用导入包模块。
const importName = require("schema/index.js");
这是导入外部代码的方式,你的 javascript import a 和 create module syntex 不起作用