如果檔案被情況,預設載入assets下的原始的bundle
注意點資源的增量更新,需要修改內部的image載入的方式
資源的增量更新 需要看到的載入方法
//這樣載入一張 內部的**
'./imgs/test.png')} />
在 中render: function
() function
resolveassetsource
(source: any)
: ?resolvedassetsource
var asset = assetregistry.getassetbyid(source);
if (!asset)
//主要是assetsourceresolver 這個物件傳遞了,這裡看出非網路的時候,載入的方式和bundle的路徑有關
const resolver = new assetsourceresolver(getdevserverurl(), getbundlesourcepath(), asset);
//這裡應該是變換才會走的
if (_customsourcetransformer)
//最後來到defaultasset這個方法
return resolver.defaultasset();
} //是否是網路
function
getdevserverurl
(): ?string else
} return _serverurl;
}//載入bunle的路徑
function
getbundlesourcepath
(): ?string
if (scripturl.startswith('assets://'))
if (scripturl.startswith('file://')) else
} return _bundlesourcepath;
}
defaultasset(): resolvedassetsource
if (platform.os === 'android') else
} drawablefolderinbundle(): resolvedassetsource
如果要實現資源的熱更新,思路是修改**載入的路徑問題
參考文章:
react native之熱更新
native 發生了變動 資源或者是js發生變動 好的,以上都是理論原理內容,由於專案期只有2個人在做rn前端方面的開發,所以沒有足夠的時間去開發公司內部的熱更新。所以使用了第三方的元件react native pushy 註冊乙個pushy賬號 pushy 配置bundle url ios 在工程...
React Native專案的搭建與熱更新
首次接觸大家一起學習,也把此專案儲存筆記。我的是window系統所以選擇了android開發 首先全域性安裝react native cli,如果安裝慢請自行安裝 映象 npm install g react native cli 安裝成功後react native cli v檢視版本 建立專案re...
React Native拆包及熱更新方案
本文將和大家 react native 的拆包及熱更新方案,官方並沒有很好的支援這一企業十分看中的熱更新能力,因此也催生了第三方的熱更新方案,如 codepush react native pushy 由於公司內部有不同的業務線,所以在採用第三方的熱更新方案靈活度不夠,在調研的初期,我們參考了攜程的...