[問題] RequireJS與r.js疑問

作者: poopoo888888 (阿川)   2013-12-09 15:00:01
各位大大好
小弟之前沒用過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呢??
可以給小弟一個研究方向嗎
謝謝各位大大!
作者: TonyQ (自立而後立人。)   2013-02-09 15:10:00
照理說是要一樣的,但是可能不幸的它沒把 dependency 寫好導致大家讀取的有時間差你應該先找一個 js 出錯的地方,然後去找那個 module 是不是漏了哪個 dependency 所以出現這個 error,然後想辦法補上。前提是真的 main-built.js 是真的由 main.js build 的啦然後你可能要查一下有沒有要另外設 config 的地方像是把build.js 裡面一些 require 相關的 config 寫到main去沒有具體的情況很難判斷就是了

Links booklink

Contact Us: admin [ a t ] ucptt.com