我们有一个大型 react-native 应用程序,并希望将此应用程序扩展为网站和 chrome-extension,该网站和 chrome 扩展程序使用我们移动应用程序中的相同 reducer、sagas 和一些组件(使用 react-native-web)。chrome 扩展和网站基本上是移动应用程序的一个子集。
想法是设置构建系统以在单个 repo 中构建这些平台,例如,如果我们运行npm run build-chrome-extension
它将 react 扩展构建到一个名为的根文件夹中,该文件夹将与and文件夹/extension
位于同一目录中,文件夹也是如此。/ios
/android
/web
为了实现这一点,我们将使用react-native out-of-tree 平台,然后使用文件扩展名来提供正确的代码,CheckoutScreen.website.js
为网站提供结帐屏幕。
问题是,我们如何设置构建系统来实现这一点?如果我们想使用 Gatsby 构建网站,并为 chrome-extension 创建-react-app。