有没有办法从包裹中取出 Apollo 类型的防护装置?
Posted
技术标签:
【中文标题】有没有办法从包裹中取出 Apollo 类型的防护装置?【英文标题】:Is there a way to get Apollo type guards out from a package? 【发布时间】:2021-08-07 23:04:27 【问题描述】:我看到了我想在我的应用程序中使用的 Apollo 类型保护,它是
export function isField(selection)
return selection.kind === 'Field';
它位于node_modules/@apollo/client/utilities/graphql/storeUtils.js
。但我不能只将它导入我的文件,因为 lib 似乎没有导出它,如果我只粘贴 import isField from '@apollo/client/utilities/graphql/storeUtils';
我会收到此错误:
/Users/vorant94/git/github/vorant94-server/node_modules/@apollo/client/utilities/graphql/storeUtils.js:1
import stringify from 'fast-json-stable-stringify';
^^^^^^
SyntaxError: Cannot use import statement outside a module
at wrapSafe (internal/modules/cjs/loader.js:984:16)
at Module._compile (internal/modules/cjs/loader.js:1032:27)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
at Module.load (internal/modules/cjs/loader.js:933:32)
at Function.Module._load (internal/modules/cjs/loader.js:774:14)
at Module.require (internal/modules/cjs/loader.js:957:19)
at require (internal/modules/cjs/helpers.js:88:18)
at Object.<anonymous> (/Users/vorant94/git/github/vorant94-server/dist/shared/graphql/field-name-list/field-name-list.pipe.js:11:22)
at Module._compile (internal/modules/cjs/loader.js:1068:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:1097:10)
那么有没有办法在库之外使用它?
【问题讨论】:
【参考方案1】:我只需要安装apollo-utilities
包...
【讨论】:
以上是关于有没有办法从包裹中取出 Apollo 类型的防护装置?的主要内容,如果未能解决你的问题,请参考以下文章
有没有办法在尝试调用缓存之前检查 Apollo 是不是缓存了数据?