React native :Unable to resolve module 事实上,这些文件都不存在:

IT技术 android reactjs react-native components custom-component
2021-05-04 14:04:55

我正在关注这篇中等文章FloatingTitleTextInputField在我的本机项目中使用

下面是我的项目结构

在此处输入图片说明

这是我的代码 HomeScreen.js

import React, {Component} from 'react';
import {Text, View, TextInput, StyleSheet} from 'react-native';
import FloatingTitleTextInputField from './customComponents/floating_title_text_input_field';



export default class HomeScreen extends Component {
  render() {
    return (
      // <View style={{flex: 1, justifyContent: 'center', alignItems: 'center'}}>
      //   <Text>My First React App</Text>
      //   <TextInput style={{height: 40, borderColor: 'gray', borderWidth: 1}} />
      // </View>

      <View style={styles.container}>
        <View style={styles.container}>
          <Text style={styles.headerText}>Its Amazing</Text>
          <FloatingTitleTextInputField
            attrName="firstName"
            title="First Name"
            value={this.state.firstName}
            updateMasterState={this._updateMasterState}
          />
          <FloatingTitleTextInputField
            attrName="lastName"
            title="Last Name"
            value={this.state.lastName}
            updateMasterState={this._updateMasterState}
          />
        </View>
      </View>
    );
  }
}
var styles = StyleSheet.create({
  container: {
    flex: 1,
    paddingTop: 65,
    backgroundColor: 'white',
  },
  labelInput: {
    color: '#673AB7',
  },
  formInput: {
    borderBottomWidth: 1.5,
    marginLeft: 20,
    borderColor: '#333',
  },
  input: {
    borderWidth: 0,
  },
});

当我尝试在FloatingTitleTextInputField里面使用时HomeScreen.js,出现以下错误

    error Unable to resolve module `./floating_title_text_input_field` from `React Native/AwesomeProject/screens/

HomeScreen.js`: The module `./floating_title_text_input_field` could not be found from `/React Native/AwesomeProject/screens/HomeScreen.js`. Indeed, none of these files exist:


  * `/React Native/AwesomeProject/screens/floating_title_text_input_field(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`


  * `/React Native/AwesomeProject/screens/floating_title_text_input_field/index(.native||.android.js|.native.js|.js|.android.json|.native.json|.json|.android.ts|.native.ts|.ts|.android.tsx|.native.tsx|.tsx)`. Run CLI with --verbose flag for more details.


Error: Unable to resolve module `./floating_title_text_input_field` from `React Native/AwesomeProject/screens/HomeScreen.js`: The module `./floating_title_text_input_field` could not be found from `/React Native/AwesomeProject/screens/HomeScreen.js`. Indeed, none of these files exist:

谁能帮我解决这个问题

如果需要更多信息,请告诉我。提前致谢。您的努力将不胜感激。

4个回答

您正在从目录中HomeScreen组件引用它screens因为您使用的是本地 ./ 路径,所以它试图在screens/customComponents. 使用../customComponents/floating_title_text_input_field应该修复它。

即使你的错误是在require语句中使用了错误的路径,我认为分享我如何解决这个问题可能会有用,其中文件导入路径不是错误的原因。在我添加了一些图像资产并在我的组件中需要它们后,我遇到了这个问题。但我忘了再次构建应用程序。经过多次尝试,这是对我有用的解决方案。

  1. 停止您的开发服务器。
  2. 在您的 Android 设备或模拟器上安装该应用程序,使用yarn android/ios.
  3. 使用yarn start.

您可以清理捆绑器上的缓存:

npm start --clean-cache

FloatingTitleTextInputField成分似乎是一个名为export。所以像import { FloatingTitleTextInputField } from 'the source'.

或者简单地默认导出FloatingTitleTextInputField就像export default class FloatingTitleTextInputFieldfloat_title_text_input_field.js文件中一样。