我試圖優化與RequireJS的JavaScript文件顯著的數字,但我有麻煩纏繞我圍繞如何正確地構建與優化的腳本,並在所需加載它們在瀏覽器中頭部辦法。使用RequireJS優化的局部優化
雖然下面的描述是相當具體,我會想象不少其他人都遇到同樣的挑戰。 (或者他們在他們的要求中做出了更明智的選擇!)
我正在使用bower下載一個腳本目錄,並且我想將這些腳本(或其中的一部分)包含在我的網頁中。
此外,在測試時我基本上從來不想讓瀏覽器取回個人涼亭腳本。本地測試框架連續響應請求,所以這非常緩慢。我想使用RequireJS優化器或其他方法將所有已下載的bower腳本合併到一個文件中。
相比之下,我自己的代碼被分解成一長串Coffeescript文件,我想用RequireJS CS plugin來爲瀏覽器編譯它們。
當再發展,我希望我的瀏覽器加載像下面這樣:
components.js
main.js
csmain.coffee
my_module.coffee
components.js
將由鮑爾的components
目錄中的以下文件組成,例如,
- jquery的:的jquery/jquery的
- jQueryUI的:
- jQueryUI的/ UI/jquery.ui.core
- jQueryUI的/ UI/jquery.ui.datepicker
- AMPLIFY:
- 放大/型芯/ amplify.core
- 放大/請求/ AM plify。請求
- 自舉:
- 引導/ JS /自舉過渡
- 引導/ JS /自舉警報
- 引導/ JS /引導按鈕
- 引導/ JS /引導傳送帶
- 引導/ JS /引導崩潰
- lodash:lodash/lodash
在生產中,瀏覽器會加載一個文件,如all.js
。
所以我的問題是:如果我使用RequireJS什麼進入瀏覽器main.js
和構建腳本來實現部分和完全優化的構建。我在這個問題上花費了不成比例的時間,而RequireJS中莫名其妙的和不可思議的錯誤數量不可思議地很長 - 直到我無法確定可分割的禁止性問題。它似乎並不是工作的工具,但我很樂意予以糾正。
我有一個優化腳本什麼類似於以下(在YAML符號):
baseUrl: "../media/my-scripts/"
optimize: none
out: build/all.js
stubModules:
- cs
- coffee-script
paths:
cs: "../../scripts/components/require-cs/cs"
'coffee-script': "../../scripts/components/require-cs/coffee-script"
usf: "./main"
components: "../compiled/components"
name: usf
logLevel: 0
shim: # ...
看來,我想解決的問題是相當簡單的,但解決不到位。 RequireJS儘管非常出色,但比我所需要的要複雜得多。 Almond.js是加載模塊的替代方案 - 但問題在於缺少其他合適的優化器。
對於如何使用r.js
來實現上述目標,或者可能存在哪些合適的替代優化解決方案,有任何可能的選擇的想法,我將不勝感激。