当前位置: 首页 > 知识库问答 >
问题:

安装@apollo/Client后无法解析主模块字段

韦欣德
2023-03-14

我在尝试运行我的 React Native Expo 应用程序时安装 Apollo 后遇到错误。我尝试过删除节点模块并重新安装,重置html" target="_blank">缓存,重新启动计算机,但仍然没有运气。

Android 捆绑失败 456 毫秒 尝试从文件解析模块@apollo/客户端

    < Li >/mnt/c/Users/14044/Desktop/Coding/divi/client/node _ modules/@ Apollo/client/main . cjs(。native | . Android . jsx | . native . jsx |。jsx|.android.js|.native.js|。js|.android.ts|.native.ts|。ts|.android.tsx|.native.tsx|。tsx | . Android . JSON | . native . JSON |。json) < Li >/mnt/c/Users/14044/Desktop/Coding/divi/client/node _ modules/@ Apollo/client/main . cjs/index(。native | . Android . jsx | . native . jsx |。jsx|.android.js|.native.js|。js|.android.ts|.native.ts|。ts|.android.tsx|.native.tsx|。tsx | . Android . JSON | . native . JSON |。json)

共有3个答案

瞿健
2023-03-14

尝试降级到< code > @ Apollo/client < code > 3 . 4 . 16 。我刚刚做了一轮包更新,而< code>3.5.4也破坏了我的构建。我使用的是降级版的包以及降级版的< code > graph QL lib-< code > 15 . 7 . 2 。

这些是对我来说适用于Expo / RN当前版本的最后版本。

希望这能帮到你!

柳修为
2023-03-14

这是最新版本的< code>Apollo Client (3.5.0及更高版本)和< code>Metro bundler工作方式的问题。您需要配置Metro来理解< code >。通过在项目的根文件夹中创建一个< code>metro.config.js,在< code>@apollo/client中使用的cjs文件。

以下是阿波罗发布页面上的解决方案链接。

我尝试了这个解决方案,它不起作用,错误被解决了,但是项目中的其他包的构建中断了,所以我尝试了一种类似但不同的方法

这是我的metro.config.js

const {getDefaultConfig} = require('metro-config');

module.exports = (async () => {
  const {
    resolver: {sourceExts},
  } = await getDefaultConfig();
  return {
    transformer: {
      getTransformOptions: async () => ({
        transform: {
          experimentalImportSupport: false,
          inlineRequires: true,
        },
      }),
    },
    resolver: {
      sourceExts: [...sourceExts, 'cjs'],
    },
  };
})();
龚俊捷
2023-03-14

这是@apollo/client v3.5.4和RN metro bundler之间的冲突。

在此问题解决之前,作为一种变通方法,您可以通过在React本地项目的根目录下创建一个metro.config.js文件来配置Metro,该文件包含以下内容:

const { getDefaultConfig } = require("metro-config");
const { resolver: defaultResolver } = getDefaultConfig.getDefaultValues();
exports.resolver = {
  ...defaultResolver,
  sourceExts: [
    ...defaultResolver.sourceExts,
    "cjs",
  ],
};

此解决方法发布在Apollo Github发布页面上。

 类似资料:
  • 我正在使用同步模块将文件表单serverA传输到服务器B。我的serverA和serverB主机是:

  • 问题内容: 我是python新手,遇到了一个我无法解决的问题。我想在python中安装和使用spacy软件包。因此,我打开cmd并运行 安装依赖项时,出现错误消息: 命令““ c:\ users \ xxx \ appdata \ local \ programs \ python \ python37 \ python.exe” -u -c“导入设置工具,标记化; 文件 =’C:\ Users

  • 问题内容: 在此答案中,告诉我不要用于解析,而要使用。但是,该解析器不附带。 根据评论之一,我尝试了: python -m pip install lxml 但是得到了: 我正在使用,并且希望 某些东西可以正常使用,这意味着不需要单独编译。 问题答案: 您将需要Windows上的编译器才能通过pip安装lxml。 一些非官方的版本可以在这里找到:http : //www.lfd.uci.edu/~

  • 问题内容: 我见过几篇与此类型的错误相关的文章。但是我无法解决。 我的package.json: 我在webpack上遇到以下错误: 但是在我做的cmd行中 我得到3.10.10。反应场在那里。但是我不知道为什么它仍然会给出这个错误。 当我通过npm安装“ npm install react-dom”并运行webpack时,出现以下错误: 请帮忙。 问题答案: 未安装Issue ,当您点击时,它会

  • 我最近在我的Intellij中安装了插件“Spring启动助手”。当我尝试运行我之前完成的旧java文件时,许多符号显示为“无法解析符号”。 我认为这可能与maven有关,但我不知道如何修复它,因为在安装spring boot和maven之前运行程序没有错误。我刚刚开始学习spring boot,所以我仍然不熟悉它的功能。请帮帮我。

  • 非常简单的用例,我使用的是EclipseOxygen4.7。3a,包括来自Java9的支持。我有两个项目是Java 9项目: 我想在中使用类,因此我尝试将第二个模块导入第一个项目。 模块信息。java项目1: 模块信息。java项目2: Eclipse给了我错误: 项目二不能解析为模块 我是否必须将所有Java项目集中在一个“主项目”下,以便让Eclipse知道所有这些模块在其中都是可用的?还是我