MorJS 運(yùn)行時(shí)補(bǔ)償原理

2023-10-25 16:43 更新


運(yùn)行時(shí)補(bǔ)償主要用于處理靜態(tài)編譯無法處理的一些運(yùn)行時(shí)動(dòng)態(tài)內(nèi)容,如:

  • JSAPI: 實(shí)際業(yè)務(wù)使用上,不管是 ?JSAPI? 的名字還是 ?JSAPI? 的入?yún)⒍紩?huì)存在動(dòng)態(tài)賦值的情況,導(dǎo)致了在 ?JSAPI? 的真實(shí)調(diào)用上,很難通過 ?AST? 去解析出實(shí)際傳參;
  • 自定義組件 - Props 屬性: 支付寶屬性使用 props 聲明,而微信屬性使用 properties 聲明,配置方式不同且使用時(shí)分別使用 ?this.props.x?及 ?this.properties.x?的方式獲取,同時(shí)可能存在動(dòng)態(tài)取值的情況;
  • 自定義組件 - 生命周期: 支付寶小程序中的?didUpdate?生命周期,在觸發(fā)了?props?和?data?更新后都會(huì)進(jìn)入?didUpdate?這個(gè)生命周期,且能夠在?didUpdate?中訪問到?prevProps? / ?prevData?,而在微信小程序中靜態(tài)轉(zhuǎn)義出這個(gè)生命周期就意味著你需要去動(dòng)態(tài)分析出?didUpdate?里面要用到的所有屬性,然后去動(dòng)態(tài)生成出這些屬性的監(jiān)聽函數(shù)。這顯然可靠程度是極其低的;

等(這里不再一一列舉)。


以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)