创建react native模块并在应用程序中使用它

时间:2019-03-06 13:18:55

标签: ios reactjs react-native module

我想为iOS和Android创建react-native模块并在应用程序中使用它。

我想像本地模块一样使用它,而不是上传到npm。

当我按照官方文档中所述的步骤进行操作时,在将模块导入App.js文件时,总是会出现这些错误:

从“反应测试模块”导入MyModule;

找不到模块'react-test-module'的声明文件。 “ /Users/dbellerose/Path/to/My/Module/react-test-module/index.js”隐式具有“ any”类型。   如果存在,请尝试npm install @types/react-test-modulet或添加一个包含声明模块'react-test-module';

的新声明(.d.ts)文件。

当我运行iOS应用程序时:

无法从react-test-module解析模块/Users/Path/To/My/App/App.js:急速模块图中不存在模块react-test-module

该消息为我提供了一些解决问题的技巧,但是它不起作用。

要解决此问题,请尝试以下操作:   1.清除值班员手表:watchman watch-del-all。   2.删除node_modules文件夹:rm -rf node_modules && npm install。   3.重置Metro Bundler缓存:rm -rf /tmp/metro-bundler-cache-*npm start -- --reset-cache。   4.删除急速缓存:rm -rf /tmp/haste-map-react-native-packager-*

那么您知道什么是创建模块并将其在应用程序中使用而不将包上传到npm的好过程吗?

最诚挚的问候,

大卫

1 个答案:

答案 0 :(得分:0)

以下是我可以与您分享的一些步骤:

  1. yarn global add create-react-native-module
  2. create-react-native-module MyLibrary
  3. 将CD转到MyLibrary文件夹,运行yarn install
  4. 处理您的模块

要链接到项目,您需要将以下内容添加到package.json中(路径应位于模块所在的位置)

"react-native-test-module": "file:../", 
"react-native-my-library": "file:../../react-native-my-library/"

**如果在模块中附加了新方法,请记住。您将需要:

  1. 从项目中删除node_modules和Pods
  2. 重新执行yarn/npm installpod install

希望有帮助。