2017-05-30 53 views
0

由於angular2應用中bundle.js文件的大小很大,我已經在webpack中配置了compression-webpack-plugin來壓縮這些文件,並且在靜態dist文件夾中按預期生成了壓縮文件.js.gz。當瀏覽器請求應用程序時,我會首先在本地爲瀏覽器提供.js.gz文件(以及開發環境和其他環境)。我怎樣才能做到這一點?在本地呈現壓縮文件到angular2應用

回答

2

您使用哪臺服務器來爲您的本地靜態dist文件夾提供服務?

這是它的工作來操縱你的.js.gz文件。

隨着節點的精簡版服務器,您可以添加這些選項:

// lite-server-config.js 
module.exports = { 
    ... 
    server : { 
    middleware : { 1 : require('compression')() } 
    ... 
    } 
}; 

對於的WebPack-dev的服務器,你可以嘗試使用 '壓縮' 選項來運行:

$> webpack-dev-server --compress 

來源:http://webpack.github.io/docs/webpack-dev-server.html#webpack-dev-server-cli

+0

我使用@ angular/cli和webpack;當前版本的'@ angular/cli'不提供dist文件夾中的文件。爲了壓縮包,我做了一個webpack.config.js彈出,並在那裏添加了壓縮插件。你能告訴我在哪裏可以在本地服務器上找到信息,它是在@ angular/cli上嗎? – Cling

+0

我使用'ng serve'啓動服務器。 Doc說:「運行ng服務時,編譯後的輸出是從內存中提供的,而不是從磁盤提供的。這意味着被提供的應用程序不在dist文件夾中的磁盤上。 '我如何讓應用程序從dist文件夾中提供服務? – Cling