2015-05-09 55 views
0

這是我一年多來苦苦掙扎的事情,我不明白我們應該如何加載一個包含多個AMD模塊的JS文件,以避免發出儘可能多的HTTP請求,因爲有JS文件。如何使用requireJs加載包含多個模塊的合併JS文件?

由於我們必須在RequireJS配置文件中分別定義每個模塊,因此如何一次只加載一個包含所有模塊的合併JS文件?

這裏是我的RequireJS裝載機:https://gist.github.com/Vadorequest/9553eaf27ac1f469cf63

在該文件中,我想合併是什麼:

  • 的requirejs庫(domready中,文本,降價)
  • 共享源代碼代碼在服務器和客戶端之間(Lang,MessageLang ...查看)

因爲這些文件會逐步增加並增加HTTP的數量調用。

回答

1

您必須在構建步驟中執行此操作。你有沒有考慮使用RequireJS Optimizer

的文檔是非常穩固,您將需要一對夫婦的參數添加到您需要的配置:

{ 
    baseUrl: ".", 
    paths: { 
    jquery: "some/other/jquery" 
    }, 
    name: "main", 
    out: "scripts.js" 
} 

這將生成一個文件(scripts.js中)與它的所有文件。如果你喜歡將一些文件組合在一起

我個人使用gulp來照顧我的構建過程,所以我實際上使用gulp-requirejs-bundler,但同樣的原則適用。

+1

很久以前我看了一下這個優化器,但是當時我不明白我**有**使用'r.js',現在很清楚,謝謝。我通常使用grunt,所以https://github.com/gruntjs/grunt-contrib-requirejs會爲我做,謝謝! – Vadorequest