使用 Webpack 預設優化套件
Webpack 本身已經有一些預設的套件可以幫助我們縮小 JS 檔案,你可以在這邊找到相關資料。首先,我們先用 UglifyJsPlugin 來盡可能地減少 JS 檔案大小,設定如下:
plugins: [
new webpack.optimize.UglifyJsPlugin()
]
當然,你可以利用其他 Webpack 預設的優化套件進行更細部的設定,但這邊先介紹比較入門的方式。
使用 CSS 優化套件
除了 JS 檔案之外,也別忘了盡可能減少 CSS 檔案大小,針對 CSS 檔案我們可以利用 optimize-css-assets-webpack-plugin。安裝方式:
npm install --save-dev optimize-css-assets-webpack-plugin
設定如下:
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin')
...
plugins: [
new webpack.optimize.UglifyJsPlugin(),
new OptimizeCssAssetsPlugin()
]
使用壓縮檔案套件
這個算是常見的優化手段,將靜態資源壓縮。一般來說,後端也會提供壓縮檔案的功能,但若我們在 Build React 應用程式時就將壓縮檔建立好會更節省系統資源。所以,我們可以利用 compression-webpack-plugin 套件來達成,首先安裝:
npm install --save-dev compression-webpack-plugin
接著設定 Webpack 設定檔:
const CompressionPlugin = require('compression-webpack-plugin')
const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin')
...
plugins: [
new webpack.optimize.UglifyJsPlugin(),
new OptimizeCssAssetsPlugin(),
new CompressionPlugin({
asset: "[path].gz[query]",
algorithm: "gzip",
test: /\.js$|\.css$|\.html$/,
threshold: 0,
minRatio: 0.8
})
]
相信這幾個步驟已經可以大幅減少 React 應用程式大小,但其實還有更多的優化方式。不過,此篇先列出利用 Webpack 套件就可以輕易地達成的方法,希望有幫助到你!
Environment :
・ Unix-like System
Reference :
・ Webpack