首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法获取__dirname值

无法获取__dirname值
EN

Stack Overflow用户
提问于 2021-05-15 17:02:52
回答 1查看 27关注 0票数 0

我使用__dirname来获取GraphQL模式的绝对路径:

代码语言:javascript
复制
const schema = loadSchemaSync(path.join(__dirname, './graphql/schemas/schema.graphql'), {
  loaders: [new GraphQLFileLoader()]
});

我已经更改了模块以适应ES6模块标准,而__dirname现在是未定义的。

如何解析架构的路径?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-05-15 17:25:51

esm + __dirname有一些问题

https://nodejs.org/api/esm.html#esm_no_require_exports_module_exports_filename_dirname#esm_differences_between_es_modules_and_commonjs

ES模块与CommonJS模块的区别

无__filename或__dirname

这些CommonJS变量在ES模块中不可用。

可以通过import.meta.url复制__filename和__dirname使用情形。

尝试通过此示例https://nodejs.org/api/esm.html#esm_import_meta_url进行修复

代码语言:javascript
复制
loadSchemaSync(path.join(import.meta.url, './graphql/schemas/schema.graphql'), ...
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67544998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档