簡體   English   中英

創建反應原生模塊並在應用程序中使用它

[英]Create react native module and use it in application

我想為 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或添加一個包含 `declare module 'react-test-module' 的新聲明 (.d.ts) 文件;

當我運行 iOS 應用程序時:

無法從/Users/Path/To/My/App/App.js解析模塊react-test-module :Haste 模塊映射中不存在模塊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. 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 install & pod install

希望能幫助到你。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM