欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

在?React?Native?中給第三方庫打補(bǔ)丁的過程解析

 更新時間:2022年08月03日 09:38:49   作者:todoit lv-4  
這篇文章主要介紹了在?React?Native?中給第三方庫打補(bǔ)丁的過程解析,有時使用了某個React Native 第三方庫,可是它有些問題,我們不得不修改它的源碼,本文介紹如何修改源碼又不會意外丟失修改結(jié)果的方法,需要的朋友可以參考下

有時使用了某個React Native 第三方庫,可是它有些問題,我們不得不修改它的源碼。本文介紹如何修改源碼又不會意外丟失修改結(jié)果的方法。

我們可能不方便給原作者提 Pull Request,因為他們可能不愿意接受我們的更改。又或者原作者無法及時發(fā)布新版本。

種種原因,我們只有去修改 node_modules 目錄下的文件。

可是當(dāng)我們執(zhí)行 yarn install 或 yarn add 時,原先的修改會丟失。

有沒有辦法讓我們可以在 yarn install 或 yarn add 時,自動把修改的源碼加載進(jìn)來?

patch-package 來拯救!

安裝

安裝以下兩個 package:

yarn add patch-package postinstall-postinstall

大多數(shù)時候,當(dāng)你執(zhí)行 yarn add 、 yarn remove 或 yarn install 時,Yarn 會用原始的模塊完全取代你的 node_modules 的內(nèi)容。 patch-package 使用 postinstall 鉤子按照你的要求來修改這些原始模塊。

Yarn 只在 yarn install 和 yarn add 之后運(yùn)行 postinstall 鉤子,但不包括在 yarn remove 之后。postinstall-postinstall 包用來確保你的 postinstall 鉤子在 yarn remove 后也能被執(zhí)行。

配置 scripts ,確保每次執(zhí)行 yarn install 或者 yarn add 之后,都會自動執(zhí)行 patch-package :

// package.json
"scripts": {
    "postinstall": "patch-package",
}

使用

首先對你的 node_modules 文件夾中的某個包的文件進(jìn)行修改,然后運(yùn)行

yarn patch-package package-name

譬如,我們的項目依賴了 react-native-system-setting 這個包,但是這個包已經(jīng)不再更新了,而 React Native 的新版本要求每一個發(fā)布事件的模塊,必須實現(xiàn)以下兩個方法:

@ReactMethod
public void addListener(String eventType) {
    // do nothing
}

@ReactMethod
public void removeListeners(int count) {
    // do nothing
}

那么我們可以修改這個包的源碼,添加這兩個方法,然后運(yùn)行

yarn patch-package react-native-system-setting

可以看到,在根目錄下,創(chuàng)建了一個 patches 文件夾,里面有一個補(bǔ)丁文件,記錄了對 react-native-system-setting 的修改。

這樣就不怕補(bǔ)丁丟失了。

示例

這里有 一個示例 ,供你參考。

到此這篇關(guān)于在 React Native 中給第三方庫打補(bǔ)丁的過程解析的文章就介紹到這了,更多相關(guān)React Native第三方庫打補(bǔ)丁內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 詳解react中的state的簡寫方式

    詳解react中的state的簡寫方式

    React是一個狀態(tài)機(jī)主要體現(xiàn)在state上,通過與用戶交易實現(xiàn)不同的狀態(tài),state是組件的私有屬性,是用來初始化的,本文重點(diǎn)給大家介紹react中的state的簡寫方式,感興趣的朋友一起看看吧
    2021-08-08
  • react-router6.x路由配置及導(dǎo)航詳解

    react-router6.x路由配置及導(dǎo)航詳解

    這篇文章主要介紹了react-router6.x路由配置及導(dǎo)航,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • react.js使用webpack搭配環(huán)境的入門教程

    react.js使用webpack搭配環(huán)境的入門教程

    本文主要介紹了react 使用webpack搭配環(huán)境的入門教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • react hooks實現(xiàn)原理解析

    react hooks實現(xiàn)原理解析

    這篇文章主要介紹了react hooks實現(xiàn)原理,文中給大家介紹了useState dispatch 函數(shù)如何與其使用的 Function Component 進(jìn)行綁定,節(jié)后實例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2022-10-10
  • ES6 class類鏈?zhǔn)嚼^承,實例化及react super(props)原理詳解

    ES6 class類鏈?zhǔn)嚼^承,實例化及react super(props)原理詳解

    這篇文章主要介紹了ES6 class類鏈?zhǔn)嚼^承,實例化及react super(props)原理,結(jié)合實例形式詳細(xì)分析了ES6 中class類鏈?zhǔn)嚼^承,實例化及react super(props)原理相關(guān)概念、原理、定義與使用技巧,需要的朋友可以參考下
    2020-02-02
  • react項目優(yōu)化配置的操作詳解

    react項目優(yōu)化配置的操作詳解

    這篇文章主要介紹了react項目優(yōu)化配置,主要包括優(yōu)化配置CDN,優(yōu)化路由懶加載,結(jié)合示例代碼給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-06-06
  • react中使用antd及immutable示例詳解

    react中使用antd及immutable示例詳解

    這篇文章主要為大家介紹了react中使用antd及immutable示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2022-08-08
  • react-native之ART繪圖方法詳解

    react-native之ART繪圖方法詳解

    本篇文章主要介紹了react-native之ART繪圖方法詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-08-08
  • React Fragment介紹與使用詳解

    React Fragment介紹與使用詳解

    本文主要介紹了React Fragment介紹與使用詳解,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-11-11
  • 原生實現(xiàn)一個react-redux的代碼示例

    原生實現(xiàn)一個react-redux的代碼示例

    這篇文章主要介紹了原生實現(xiàn)一個react-redux的代碼示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-06-06

最新評論