我使用__dirname来获取GraphQL模式的绝对路径:
const schema = loadSchemaSync(path.join(__dirname, './graphql/schemas/schema.graphql'), {
loaders: [new GraphQLFileLoader()]
});我已经更改了模块以适应ES6模块标准,而__dirname现在是未定义的。

如何解析架构的路径?
发布于 2021-05-15 17:25:51
esm + __dirname有一些问题
ES模块与CommonJS模块的区别
无__filename或__dirname
这些CommonJS变量在ES模块中不可用。
可以通过import.meta.url复制__filename和__dirname使用情形。
尝试通过此示例https://nodejs.org/api/esm.html#esm_import_meta_url进行修复
loadSchemaSync(path.join(import.meta.url, './graphql/schemas/schema.graphql'), ...https://stackoverflow.com/questions/67544998
复制相似问题