React native 一旦我创建并使用了自己的模块,就会出现如下错误:无法解析模块

React native 一旦我创建并使用了自己的模块,就会出现如下错误:无法解析模块,react-native,npm,React Native,Npm,我是react native的新手,我第一次创建了自己的模块(npm) 我曾尝试为常用组件创建我自己的模块(npm),单独使用,效果很好。但是,一旦我安装、链接到我们的应用程序中并尝试使用这些组件,就会出现如下错误: 无法从``解析模块``:模块``在Haste模块映射中不存在。 (注意:我只使用Android Emulator进行了测试) 我已经按照以下步骤创建模块和测试应用程序 用于模块 react native init 在mainindex.js中添加组件的简单代码 并将pacakge

我是react native的新手,我第一次创建了自己的模块(npm)

我曾尝试为常用组件创建我自己的模块(npm),单独使用,效果很好。但是,一旦我安装、链接到我们的应用程序中并尝试使用这些组件,就会出现如下错误:

无法从``解析模块``:模块``在Haste模块映射中不存在。
(注意:我只使用Android Emulator进行了测试)

我已经按照以下步骤创建模块和测试应用程序

用于模块

  • react native init
  • 在main
    index.js中添加组件的简单代码
  • 并将pacakge.json设置为:

    {
    “名称”:“,
    “版本”:“0.0.1”,
    “私人”:没错,
    “main”:“index.js”,
    “脚本”:{
    “启动”:“反应本机启动”,
    “测试”:“玩笑”,
    “lint”:“eslint.”,
    “构建”:“echo‘已执行构建脚本’”
    },
    “依赖项”:{
    “反应”:“16.8.6”,
    “反应本机”:“0.60.4”
    },
    
  • 现在我检查这个组件(react native run android),它会正常工作

    现在,我尝试在应用程序中使用以下步骤

    用于测试应用程序

  • 创建新的新应用程序(
    react native init
  • 使用完整路径安装创建的npm,如

    npm安装
    
  • 现在我尝试了
    react-native-link
    ,我也尝试了simple
    react-native-link
    ,但什么也没发生

  • 现在我运行应用程序时使用的是
    react native run android
    ,但每次都会出现相同的错误,如

    无法解析模块
    
  • 测试应用程序
    package.json

    {
    “名称”:“,
    “版本”:“0.0.1”,
    “私人”:没错,
    “脚本”:{
    “启动”:“反应本机启动”,
    “测试”:“玩笑”,
    “lint”:“eslint”
    },
    “依赖项”:{
    “反应”:“16.8.6”,
    “反应本机”:“0.60.4”,
    “我的库”:“^1.0.2”,
    “”文件:../
    },
    “依赖性”:{
    “@babel/core”:“7.5.5”,
    “@babel/runtime”:“7.5.5”,
    “@react native community/eslint config”:“0.0.3”,
    “巴别塔笑话”:“24.8.0”,
    “eslint”:“6.1.0”,
    “笑话”:“24.8.0”,
    “metro react native babel预设”:“0.54.1”,
    “反应测试渲染器”:“16.8.6”
    },
    “笑话”:{
    “预设”:“本机反应”
    }
    }
    
    创建的模块已成功安装,但我认为它没有正确链接,它将给出错误消息

    那么这里出了什么问题

    请给我建议/帮助


    谢谢。

    我假设您的模块已成功发布到npm存储库中。否则,您无法使用
    npm安装

    如果您正在使用

    npm安装

    用于从npm repo将模块安装到测试应用程序的命令。请在package.json中指定

    "<created-module-name>": "file:../<created-module-name>"
    

    然后,您只需按照我上面提到的手动链接过程进行操作。

    您的模块是否有android和ios文件夹?大多数情况下,
    react native link
    不适用于本机库。您必须自己进行操作。@firats模块适用于android和ios,实际上它不是特定的android和ios,我也尝试了react native link但是android中没有什么可以改变的,比如gradlefile、setting.gradle等。你找到解决方案了吗?我没有发布我的模块,我只是在我的本地PC上使用。关于package.json,这行“:”文件:../”自动创建。根据你的回答,我按照一个步骤,然后解决“无法解析模块”的错误但我仍然面临一个问题,一旦我在测试应用程序中使用组件,请检查下面的屏幕截图:错误:模块包,json创建simpale text component app.js test app package.json使用板条箱组件app.js@Firats从您的屏幕截图中可以看出,您为您的组件创建了一个新项目而不是库,然后您试图将其导入到主项目中。这是一种错误的方法。您无法将react本机项目导入到另一个项目中。您应该创建一个react本机库来完成此操作。从项目中删除您的模块,然后您可以用这种方式创建新库。之后,再次按照我的答案进行操作。好的,让我试试。@firatsDon't for创建android&ios文件夹后,可以从库中删除它。因为您只想使用jsx文本组件。
    npm install --save <full path of component>
    
    "dependencies": {
       ...
       "your_module_name": "your_module_version"
       ...
    }