亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

requireJS r.js 的弊端?

requireJS r.js 的弊端?

慕慕森 2019-04-14 10:33:09
如果正常用requireJS的話,都是異步加載的,沒什么問題。我的問題是:當在node環境中,用r.js合并壓縮所有依賴的文件的話,那也就是說,在客戶端瀏覽器上會一下子加載整個網站所有的腳本(以及需要加載的所有text片段,如果有的話),也許看上去節省帶寬(總體上)節省連接次數,但是這樣會使得瀏覽器內存中會一下子創建整個網站的各種對象(本不應該在當前頁面加載的):比如問題比較嚴重的backbone中所有的Model、Collection、View,以及Router。我覺得這貌似是個很嚴重的問題,求大神解答:-)
查看完整描述

2 回答

?
幕布斯6054654

TA貢獻1876條經驗 獲得超7個贊

我曾提出了類似的問題,其中提到,分業務合并壓縮腳本的問題。里面有部分答案還是值得思考的,分享與你
基于requirejs的前端模塊化工程,可以選擇什么工具來實現自動化壓縮和合并
                            
查看完整回答
反對 回復 2019-04-14
?
MMTTMM

TA貢獻1869條經驗 獲得超4個贊

關于這個問題,我之前也有過相似的疑問。后來查閱了一些資料,以及請教了一些前輩之后,大概有了些自己想法。
首先requirejs實現的是amd規范,當你在使用requirejs進行開發的開發的時候,因為要模塊化,所以會產生很多js文件,特別是跟backbonejs一起用的時候。
在網絡資源請求的過程中,加載一個體積稍大一點的文件遠比加載許多個體積小的文件要節省資源的多。
所以基于這個因素,使用requirejs將整站的腳本文件打成一個文件也無可厚非。
至于你的問題,如果將所有的腳本文件直接打成一個main.js,那就意味著可能并不是我當前頁面需要的腳本文件也會在當前頁面加載了。我個人覺得這可能就是一個文件數量和文件體積的把握了。要看項目的具體要求。
此外,如果在SPA(或者非SPA)中,我們可以按照功能模板將頁面人為分類,然后每一大類下所有頁面的腳本文件打成一個文件,這樣根據不同功能頁面的入口加載不同的打包好的文件,應該能夠稍微避免之前的那個問題了吧。
                            
查看完整回答
反對 回復 2019-04-14
  • 2 回答
  • 0 關注
  • 518 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號