如何使用修补程序包修补TSX文件

时间:2020-08-31 16:53:44

标签: typescript react-native patch react-native-tab-view patch-package

问题

我正在尝试使用patch-package来修补react-native软件包react-native-tab-view,但是,当我编辑node_module中包含的TSX文件以进行react-native-tab-view并应用我的补丁时,更改未反映在我的应用中。

node_modules / react-native-tab-view的结构

下面是软件包结构的屏幕截图。 Package Structure

他们还使用@react-native-community/bob在发布之前构建软件包,因此它会生成一个lib文件夹,其中包含一个模块文件夹和一个包含JS文件的commonjs文件夹。

我当前的统计信息

正在创建我的补丁,但是/ lib / module中的文件没有更改,并且在模拟器上运行时,更改也未反映在我的应用程序中

我正在编辑/ src中的TSX文件而不是模块/ lib / module中的JS文件之后尝试使用补丁程序包来应用补丁程序,因为它实现起来要简单得多。

环境 反应本色0.63.0 补丁程序包6.2.0 react-native-tab-view 2.15.1 react-native-gesture-handler 1.5.6 react-native-reanimated 1.7.0

问题 我是否缺少构建或编译步骤来获取react-native-tab-view以从为其创建补丁的TSX文件生成新的JS文件?

任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:0)

通常,当发布npm软件包时,它也会以转译版本发布,因此您应该使用patch-package修改转译版本。

对于react-native-tab-view,转译版本位于lib文件夹中。

您可以通过检查库的package.json来验证,

  "main": "lib/commonjs/index.js",
  "react-native": "lib/module/index.js",
  "module": "lib/module/index.js",

更新

我的诀窍是在本地克隆原始存储库,安装它的deps,修改源代码中所需的内容(src,然后进行构建,然后将构建结果复制到包中的node_modules上,然后应用patch-package