我们有一个大型的本机应用程序,想要将该应用程序扩展到网站和chrome-extension中,该网站和chrome扩展程序使用相同的reducer,sagas和某些组件(使用react-native-web)应用。 chrome扩展程序和网站基本上是移动应用程序的子集。
这个想法是要设置构建系统,以在单个仓库中构建这些平台,例如如果我们运行npm run build-chrome-extension
,它将把react扩展构建到一个名为/extension
的根文件夹中,该根文件夹将与/ios
和/android
文件夹位于同一目录中, /web
文件夹。
为此,我们将使用react-native out-of-tree platforms,然后使用文件扩展名提供正确的代码,CheckoutScreen.website.js
将提供网站的结帐屏幕。
问题是,我们如何设置构建系统来完成此任务?如果我们要使用Gatsby构建网站,并为chrome-extension创建create-react-app。
答案 0 :(得分:1)
不确定要回答这个问题,但是您可以使用https://github.com/slorber/gatsby-plugin-react-native-web
它使用Expo-web webpack配置(也可在CRA或Next或自制webpack中使用),这意味着您的Web层将优先解析.web.js扩展名。