反应本机图像选择器在运行时崩溃-Metro Bundler错误

问题描述 投票:0回答:1

我想在我的应用程序中使用'react-native-image-picker'。导入并遵循github指导中的安装指导后。我在运行时遇到地铁打包机崩溃。它似乎找不到“ react-image-picker”或其依赖项?

我已经尝试初始化一个新项目,并且仅安装图像选择器。我试过在根目录中运行“ react-native链接”和“ react-native链接react-native-image-picker”。我曾尝试用expo初始化项目。我检查了Metro声明丢失的目录,它们对我来说看起来不错。

import React from 'react';
import {
  StyleSheet,
  ScrollView,
  View,
  Text,
  Button
} from 'react-native';
import ImagePicker from 'react-native-image-picker';

const options = {
  title: 'Select Avatar',
  customButtons: [{ name: 'fb', title: 'Choose Photo from Facebook' }],
  storageOptions: {
    skipBackup: true,
    path: 'images',
  },
};

const App = () => {
  return (
    <Button title="Select Image" onPress={() => {
      ImagePicker.showImagePicker(options, (response) => {console.log('Response = ', response);})
    }} />
  );
};

错误:捆绑失败:错误:尝试从文件react-native-image-picker解析模块/Users/owenmorris/Documents/GitHub/fecebook/App.js时,成功找到了包/Users/owenmorris/Documents/GitHub/fecebook/node_modules/react-native-image-picker/package.json。但是,此程序包本身指定了一个无法解析的main模块字段(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/react-native-image-picker/src/index.ts。实际上,这些文件都不存在:

  • /Users/owenmorris/Documents/GitHub/fecebook/node_modules/react-native-image-picker/src/index.ts(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx)
  • /Users/owenmorris/Documents/GitHub/fecebook/node_modules/react-native-image-picker/src/index.ts/index(.native||.ios.js|.native.js|.js|.ios.json|.native.json|.json|.ios.ts|.native.ts|.ts|.ios.tsx|.native.tsx|.tsx)在ResolutionRequest.resolveDependency(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/node-haste/DependencyGraph/ResolutionRequest.js:65:15)在DependencyGraph.resolveDependency(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/node-haste/DependencyGraph.js:283:16)在Object.resolve(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/lib/transformHelpers.js:264:42)在/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/DeltaBundler/traverseDependencies.js:399:31在Array.map()在resolveDependencies(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/DeltaBundler/traverseDependencies.js:396:18)在/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/DeltaBundler/traverseDependencies.js:269:33在Generator.next()在asyncGeneratorStep(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/DeltaBundler/traverseDependencies.js:87:24)在_next(/Users/owenmorris/Documents/GitHub/fecebook/node_modules/metro/src/DeltaBundler/traverseDependencies.js:107:9)BUNDLE [ios,dev] ./index.js░░░░░░░░░░░░░░░░0.0%(0/1),失败。
ios react-native package-managers react-native-image-picker metro-bundler
1个回答
0
投票

答案是here

简单地是:

  1. 第二解决方案

从lib / common / js导入库从'react-native-image-picker / lib / commonjs'导入ImagePicker;

© www.soinside.com 2019 - 2024. All rights reserved.