javascript - webpack異步加載js問(wèn)題
問(wèn)題描述
我導(dǎo)入了兩個(gè)js,其中第一個(gè)是提取出來(lái)的公用js,第二個(gè)是頁(yè)面js并且依賴第一個(gè)js。我想讓兩個(gè)js非阻塞加載,但又能正常的處理依賴,也就是,一和二同時(shí)加載,但二只有在一加載完成的基礎(chǔ)上才執(zhí)行。該怎么搞
問(wèn)題解答
回答1:這是我我把js放到head中,這是界面解析順序,這是阻塞,jquery放在head中,把parseHtml分割了。在body底部已經(jīng)沒(méi)必要了,因?yàn)樽罱K耗時(shí)的是執(zhí)行script的時(shí)間
回答2:現(xiàn)代瀏覽器,一般默認(rèn)就是這個(gè)處理機(jī)制。js并行下載,從上到下,下載完立馬執(zhí)行,其中,就算下面的先下載完成,其也必須等其上面的js下載執(zhí)行完,其才能執(zhí)行。http://www.cnblogs.com/cococe...
回答3:require.ensure應(yīng)該是能夠滿足你的需求的。
require.ensure(dependencies, callback, chunkName)
具體可以見(jiàn):webpack 按需打包加載
回答4:require.ensure不適合你的要求,因?yàn)槟闶且瑫r(shí)加載,我看了下require.ensure生成后的文件,它的原理是通過(guò)promise+jsonp的方式,阻塞式加載js,可以實(shí)現(xiàn)按需,但不是并行。對(duì)于js本身browser會(huì)并行請(qǐng)求,只不過(guò)數(shù)量有限制。
相關(guān)文章:
1. Span標(biāo)簽2. 關(guān)docker hub上有些鏡像的tag被標(biāo)記““This image has vulnerabilities””3. css - 求推薦適用于vue2的框架 像bootstrap這種類型的4. docker-machine添加一個(gè)已有的docker主機(jī)問(wèn)題5. css - 關(guān)于div自適應(yīng)問(wèn)題,大家看圖吧,說(shuō)不清6. SessionNotFoundException:會(huì)話ID為null。調(diào)用quit()后使用WebDriver嗎?(硒)7. android新手一枚,android使用httclient獲取服務(wù)器端數(shù)據(jù)失敗,但是用java工程運(yùn)行就可以成功獲取。8. angular.js使用$resource服務(wù)把數(shù)據(jù)存入mongodb的問(wèn)題。9. java - Collections類里的swap函數(shù),源碼為什么要新定義一個(gè)final的List型變量l指向傳入的list?10. python - django如何每次調(diào)用標(biāo)簽的時(shí)候都取隨機(jī)數(shù)據(jù)
