【发布时间】:2018-03-17 02:47:54
【问题描述】:
我正在使用 react 和 react-native 创建一个堆栈,并且我计划共享容器(逻辑)代码,同时我还在创建愚蠢的 UI 组件(函数返回布局)为 native 和 web 。
我试图有条件地为不同的构建导入 UI 组件。我可以使用 webpack 的 NormalModuleReplacementPlugin 在 web 上做到这一点,但我找不到使用 metro bundler 的方法,因为没有可用的文档。
那么有没有一种方法可以实际配置您的设置,以便您可以使用 Metro bundler 有条件地为 react-native 导入组件。 es6 中的 import 语句只使用字符串文字,虽然你可以在 react 中使用 require 来组合变量,但它不适用于 react-native 。
现在每次我运行命令时,它都会触发一个脚本,该脚本读取文件并更改导入语句
../native/One.component
到
../web/One.component 反之亦然,用于网络原生
但是这样我将无法同时拍摄两个服务器进行调试。我想知道有没有更清洁的方法来做到这一点?
【问题讨论】:
-
我也在尝试解决一个我认为取决于配置 Metro-bundler 的问题,但我不确定这是否可能。
-
是的,实际上主要问题是没有地铁捆绑器的官方文档,也没有太多配置选项,我查看了库的代码,找不到任何可以解决问题的东西。我计划使用 webpack 引导应用程序,以便更好地控制应用程序,但我失败了。所以现在我正在使用一个更改导入语句的脚本。我无法同时调试网络和移动设备,但至少是自动化的
-
facebook.github.io/metro/docs/bundling 根据本文档,不支持动态导入
标签: reactjs react-native webpack