我們有兩個專案共享一個 API 包裝庫(我們創建的),它利用pusher-js庫進行 websocket 通信。
API 包裝器最初是為基于 NextJS 構建的 Web 版本專案構建的,但現在我們希望將其包含在我們新的 React Native 專案中。問題出在我們實體化的 API 包裝器內部pusher,import pusher from 'pusher-js而要使其在 React Native 上運行,我們需要這樣做import pusher from 'pusher-js/react-native。這個庫顯然不知道誰安裝它的外部用法,只是將這些東西設定為一個方便的包裝器。
這如何在移動專案中實作,或者應該在 API 庫中設定?我已經通過 babel 插件研究了模塊解析度,但不確定如何為這個實體設定。
uj5u.com熱心網友回復:
您可以為移動設備創建特定于平臺的檔案。
// pusher.ts
import pusher from 'pusher-js';
export default pusher;
// pusher.native.ts
import pusher from 'pusher-js/react-native';
export default pusher;
// whenever you need pusher
import pusher from './pusher';
React Native 將為pusher.native您匯入 from 。https://reactnative.dev/docs/platform-specific-code#native-specific-extensions-ie-sharing-code-with-nodejs-and-web
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/334692.html
