【发布时间】:2020-12-09 20:00:49
【问题描述】:
我想为 React (Next.js) Web 应用和 React Native 移动应用构建一个共享的 Typescript 模块。
此模块将处理对后端 (Firebase) 的所有调用以及使用上下文 API 进行状态管理。
问题在于 React 和 React Native 不会为相同的任务使用相同的包。
基本上我需要做的:
import react from 'react',
if (platform == 'mobile') {
import app from '@react-native-firebase/app'
import firestore from '@react-native-firebase/firestore'
import auth from '@react-native-firebase/auth'
import storage from '@react-native-firebase/storage'
} else if (platform == 'web') {
import app from 'firebase/app'
import firestore from 'firebase/firestore'
import auth from 'firebase/auth'
import storage from 'firebase/storage'
} else // throw some error
当然,这段代码是行不通的。有解决办法吗?
谢谢
【问题讨论】:
-
您可以在构建中包含一个步骤,该步骤采用环境变量并在实际构建之前使用正确的导入解析和编辑文件
标签: javascript reactjs firebase react-native next.js