[問題] RequireJS與r.js疑問

看板Ajax作者 (阿川)時間10年前 (2013/12/09 15:00), 編輯推噓0(008)
留言8則, 1人參與, 最新討論串1/1
各位大大好 小弟之前沒用過RequireJS與r.js 現在要maintain別人寫的兩個專案 兩個都用了RequireJS並用r.js壓縮 想要review他的code 發現兩個專案的網頁中 js都只有這行 <script data-main="/assets/javascript/main-built" src="/assets/vendor/requirejs/require.js"></script> 可是main-built.js內全壓縮成了一行 我無法開始review code 研究後發現是他用r.js壓縮過 找到了app.build.js 發現裡面長這樣 ({ baseUrl: ".", name: "main", out: "main-built.js", mainConfigFile: "main.js", preserveLicenseComments: false, paths: { jquery: "../vendor/jquery/jquery", .......... }, shim: { "../vendor/jquery.lazyload/jquery.lazyload.min": ['jquery'], ....... 小弟猜想 原始檔是main.js main-built.js只是壓縮後的結果 於是小弟將這行 data-main="/assets/javascript/main-built" 改成 data-main="/assets/javascript/main 小弟以為r.js只是把原本包好的code全部找出來壓縮 所以使用main-built跟main 除了performance之外 全都一樣 結果 其中一個專案正常運作 另一個專案卻是出現一大堆js讀取問題 想請問為什麼會這樣呢?? 我該從哪裡開始review code呢?? 可以給小弟一個研究方向嗎 謝謝各位大大! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 1.171.162.110

12/09 15:10, , 1F
照理說是要一樣的,但是可能不幸的它沒把 dependency 寫好
12/09 15:10, 1F

12/09 15:10, , 2F
導致大家讀取的有時間差
12/09 15:10, 2F

12/09 15:10, , 3F
你應該先找一個 js 出錯的地方,然後去找那個 module 是不是
12/09 15:10, 3F

12/09 15:10, , 4F
漏了哪個 dependency 所以出現這個 error,然後想辦法補上。
12/09 15:10, 4F

12/09 15:11, , 5F
前提是真的 main-built.js 是真的由 main.js build 的啦
12/09 15:11, 5F

12/09 15:11, , 6F
然後你可能要查一下有沒有要另外設 config 的地方
12/09 15:11, 6F

12/09 15:11, , 7F
像是把build.js 裡面一些 require 相關的 config 寫到main去
12/09 15:11, 7F

12/09 15:12, , 8F
沒有具體的情況很難判斷就是了
12/09 15:12, 8F
文章代碼(AID): #1IfMfp6T (Ajax)