React-Native 无法解析模块

Posted

技术标签:

【中文标题】React-Native 无法解析模块【英文标题】:React-Native Unable to resolve module 【发布时间】:2016-03-23 09:52:12 【问题描述】:

我收到以下错误:

Dec 16 20:03:26 NathanHyland Bunny[21876]:无法从 /Users/nhyland/Documents/react-native/Bunny/index.ios.js 解析模块 socket.io-client/socket.io:无效目录 /Users/node_modules/socket.io-client/socket.io 12 月 16 日 20:03:26 NathanHyland syslogd[21710]:ASL 发件人统计数据

我的 index.io.js:

var React = require('react-native');
var 
    AppRegistry,
    StyleSheet,
    Text,
    View,
    TouchableHighlight
     = React;

import './UserAgent';
window.navigator.userAgent = "react-native";
var _ = require('lodash');
var io = require('socket.io-client/socket.io');

class Bunny extends React.Component 
    constructor(props) 
        super(props);
    

    render() 
        return (
            <View style=styles.container>
                <Text style=styles.welcome>
                    Welcome to React Native!
                </Text>
                <Text style=styles.instructions>
                    To get started, edit index.ios.js
                </Text>
                <Text style=styles.instructions>
                    Press Cmd+R to reload,'\n'
                    Cmd+D or shake for dev menu
                </Text>
                <TouchableHighlight onPress=() => 

      ><Text>Test</Text></TouchableHighlight>
            </View>
        );
    



var styles = StyleSheet.create(
    container: 
        flex: 1,
        justifyContent: 'center',
        alignItems: 'center',
        backgroundColor: '#F5FCFF',
    ,
    welcome: 
        fontSize: 20,
        textAlign: 'center',
        margin: 10,
    ,
    instructions: 
        textAlign: 'center',
        color: '#333333',
        marginBottom: 5,
    ,
);

AppRegistry.registerComponent('Bunny', () => Bunny);

我尝试直接链接到 node_modules 中的文件夹/文件,但不起作用,我尝试了不同的导入方式,没有 bueno。

它通过 npm install socket.io-client 安装得很好,我可以在 node-modules 中看到它。

知道为什么它不让我导入吗?

【问题讨论】:

【参考方案1】:
import io from 'socket.io-client';

================

package.json 文件

"dependencies": 
    "react": "16.0.0-alpha.12",
    "react-native": "0.47.1",
    "socket.io-client": "2.0.3"

【讨论】:

【参考方案2】:

对于将来遇到此问题的人,请尝试在您的 require 路径中包含“dist”文件夹,如下所示:

var io = require('socket.io-client/dist/socket.io');

请参阅讨论此here 的 github 问题。

【讨论】:

【参考方案3】:
var React = require('react-native');

var 
    AppRegistry,
    StyleSheet,
    Text,
    View,
    TouchableHighlight
     = React;

=============================================

import React, Component from 'react';

import 
  AppRegistry,
  StyleSheet,
  Text,
  View,
  TouchableHighlight
 from 'react-native';

【讨论】:

以上是关于React-Native 无法解析模块的主要内容,如果未能解决你的问题,请参考以下文章

React-native,monorepo:无法解析模块@babel/runtime/helpers/interopRequireDefault

react-native错误:无法解析模块`AccessibilityInfo`

未找到模块:错误:无法解析“../aws-exports”(React-Native Expo Web)

无法在我的项目中解析“react-native”

Expo React-Native 调试器 - 错误:无法从 ` 解析模块`./debugger-ui/debuggerWorker.cff11639.js`

无法在本机反应中解析模块加密