无法从“node_modules/graphql/validation/index.js”解析“./rules/FieldsOnCorrectType”
Posted
技术标签:
【中文标题】无法从“node_modules/graphql/validation/index.js”解析“./rules/FieldsOnCorrectType”【英文标题】:Unable to resolve "./rules/FieldsOnCorrectType" from "node_modules/graphql/validation/index.js" 【发布时间】:2021-02-23 02:29:56 【问题描述】:我正在使用 apollo 客户端 3 构建一个 react 本机应用程序,并在生成 javascript 包时不断收到以下错误。
Failed building JavaScript bundle.
Unable to resolve "./rules/FieldsOnCorrectType" from "node_modules/graphql/validation/index.js"
我的代码很简单,这是App.tsx
:
import StatusBar from 'expo-status-bar';
import React from 'react';
import SafeAreaProvider from 'react-native-safe-area-context';
import useCachedResources from './hooks/useCachedResources';
import useColorScheme from './hooks/useColorScheme';
import Navigation from './navigation';
import ApolloClient, InMemoryCache, ApolloProvider from '@apollo/client';
const client = new ApolloClient(
uri: 'localhost:4000/graphql',
cache: new InMemoryCache()
);
export default function App()
const isLoadingComplete = useCachedResources();
const colorScheme = useColorScheme();
if (!isLoadingComplete)
return null;
else
return (
<ApolloProvider client=client>
<SafeAreaProvider>
<Navigation colorScheme=colorScheme />
<StatusBar />
</SafeAreaProvider>
</ApolloProvider>
);
我已将其追溯到新 ApolloClient 对象的实例化 - 注释掉这些行(和提供程序)会导致错误消失。
将node_modules/graphql/validation/rules/FieldsOnCorrectTypeRule.js
重命名为node_modules/graphql/validation/rules/FieldsOnCorrectType.js
(删除文件名的Rule
后缀)修复了该特定错误,但随后在validation/index.js
文件中的下一次导入时出现错误...我不明白为什么。
【问题讨论】:
【参考方案1】:升级到 apollo 客户端 3 后,我在使用 react native 应用程序时遇到了同样的问题。对我来说,这是一个 react native 缓存问题,在按照以下说明清除缓存后问题就消失了:How to clear react-native cache?。
我正在使用 react native cli 并使用了这些命令(我没有检查是否所有这些命令都是必需的):
watchman watch-del-all
rm -rf /tmp/metro-cache
rm -rf node_modules
npm cache clean --force
npm install
npm start -- --reset-cache
如果您使用的是 expo cli,那么显然您可以这样做:
expo start -c
【讨论】:
欢迎来到 Stack Overflow :-) 请在您的回答中包含说明,以确保如果链接将来失效,它仍然有价值。以上是关于无法从“node_modules/graphql/validation/index.js”解析“./rules/FieldsOnCorrectType”的主要内容,如果未能解决你的问题,请参考以下文章
无法从 graphql-tools 导入 IResolvers
无法重新导出命名导出“模块名称”node_modules/graphql/index.mjs => Vue CLI 3 + Apollo
ReferenceError:进程未定义模块.../../../node_modules/graphql/jsutils/instanceOf.mjs
node_modules/graphql-tag/lib/index.d.ts(2,57) 中的 Angular 7 错误:错误 TS1005:“,”预期