簡體   English   中英

在Django項目中將多個JavaScript文件組合並壓縮為單個文件

[英]Combining and Compressing multiple JavaScript files into a single file in a Django project

在Django項目中將JavaScript文件合並為單個文件的最簡單方法是什么?

說明

我希望它可以與Ember.js / Backbone一起使用,在這里您(通常)在多個目錄中有許多不同的JavaScript。 目錄全部位於一個名為app /的文件夾中,例如:app / views / app / models / / app / routers /

要求

  • 與staticfiles應用一起使用
  • 在開發模式下仍然可以分開以進行更輕松的調試(僅在調用collectstatic時才進行編譯?)
  • 與Require.js一起使用(猜測應該不會太難,但請確保將其放在此處)

額外信用

說明結合Django和Ember / Backbone的最佳做法。

我是django壓縮器的快樂用戶,它確實結合,縮小,調試友好,您可以將其與staticfiles一起使用,輕松插入自定義存儲后端(例如S3)

https://github.com/jezdez/django_compressor

您希望將多個文件合並為一個文件的原因是,可以最大程度地減少設置和刪除HTTP請求的延遲,您做得越少越好。 但是,許多較新的瀏覽器正在並行下載JavaScript文件(仍按順序執行)。 結果是下載單個1Mb文件可能比三個350Kb文件要慢。

您可以從CDN使用。

如前一個答案中所述,django-compressor很好,但是當使用專用的javascript加載器時,加載時間通常會更長。 我的技巧是例如查看Head.js(http://headjs.com/)(那里還有很多其他內容)。 在考慮使用CDN:s等上的javascript進行緩存時,組合腳本通常會產生相反的效果。

要記住的一件事是,Iphone 3/4只會緩存15 / 25KB的javascript,因此,如果您有大量腳本並將其組合在一起,可能會遇到麻煩。 http://www.phpied.com/iphone-caching/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM