2013-12-23 20 views
5

我想在Sails.js(Node)應用程序中爲我的資產啓用gzip壓縮。在生產環境中啓動應用程序時,將在assets/linker/jsassets/linker/styles中的所有資源成功連接,縮小,成功(如Gruntfile中所述)。下面的輸出文件生成:如何在Sails.js中對JavaScript和CSS資源進行gzip?

.tmp/ 
    public/ 
    min/ 
     production.js 
     production.css 

我想補充gzip壓縮爲好,因此我已經安裝了咕嚕-的contrib-壓縮和添加壓縮任務的Gruntfile。我可以通過成功壓縮文件獲得以下結果。

.tmp/ 
    public/ 
    min/ 
     production.js 
     production.js.gz 
     production.css 
     production.css.gz 

我的問題是現在的服務器需要用gzip壓縮的文件(當客戶接受的編碼),而不是常年偏多回應,我無法找到一個方法來做到這一點。也許政策是這樣做的風帆?還是有另一種方式來使用快遞中間件?

如果有幫助,這是插入的JavaScript文件production.js進入標記當前帆 - 銜接任務:

... 

    prodJs: { 
    options: { 
     startTag: '<!--SCRIPTS-->', 
     endTag: '<!--SCRIPTS END-->', 
     fileTmpl: '<script src="%s"></script>', 
     appRoot: '.tmp/public' 
    }, 
    files: { 
     '.tmp/public/**/*.html': ['.tmp/public/min/production.js'], 
     'views/**/*.html': ['.tmp/public/min/production.js'], 
     'views/**/*.ejs': ['.tmp/public/min/production.js'] 
    } 
    }, 

    ... 

提前非常感謝。

回答

6

我建議你閱讀這個github問題(Enable Express compression in Sails.js by default),以及這個stackoverflow的答案(Add express middleware for param validations)的進一步的細節和sailsjs框架的方式。

希望得到這個幫助,如果遇到一些困難,請不要猶豫,詢問更多細節。

+0

哇,這很酷,我已經看過那個GitHub的問題,但我無法想象只有添加文件才能完成這項工作。 :)現在我加了它,它像魔術一樣工作! –

+1

Sailsjs是神奇的:) –

相關問題