VUE-CLI打包 +nginx 開啟gzip

1.vue-cli 打包
腳手架默認打包后的是JS文件,如果追求加載速度可以開啟gzip壓縮打包

第一步 安裝webpack插件

npm i compression-webpack-plugin@5.0.1

第二步 配置腳手架
在項目根目錄新建vue.config.js

const path = require("path");


const CompressionPlugin = require("compression-webpack-plugin");

module.exports = {
  // 默認在生成的靜態(tài)資源文件名中包含hash以控制緩存
  filenameHashing: true,

  // 是否在保存的時候使用 `eslint-loader` 進行檢查。
  lintOnSave: false,

  //開啟gzip
  configureWebpack: (config) => {
    if (process.env.NODE_ENV === "production") {
      return {
        plugins: [
          new CompressionPlugin({
            algorithm: "gzip",
            test: /\.(js|css)$/, // 匹配文件名
            threshold: 10240, // 對超過10k的數(shù)據(jù)壓縮
            deleteOriginalAssets: false, // 不刪除源文件
            minRatio: 0.8, // 壓縮比
          }),
        ],
      };
    }
  },

  //移除map文件
  productionSourceMap: false,

};

這個時候運行npm run build就會出現(xiàn)gz格式文件


image.png

2.nginx配置
nginx默認開啟了gzip
gzip on
但是這個命令的意思是nginx調(diào)用服務(wù)器CPU資源把JS等文件壓縮傳給客戶端,非常占用CPU

既然vue-cli腳手架已經(jīng)幫我們壓縮好了網(wǎng)頁代碼,
所以nginx直接把gzip格式文件傳給客戶端就行了,既靜態(tài)gzip服務(wù)

如果客戶端支持gzip協(xié)議 服務(wù)器也有對應(yīng)的.gz文件 就直接發(fā)送gz文件
不用調(diào)用CPU再去壓縮一遍了
用到的是nginx的內(nèi)置模塊ngx_http_gzip_static_module 模塊地址

模塊的官網(wǎng)和絕大部分博客都說如果想啟用這個模塊,需要重新編譯一遍nginx


image.png

但是博主是通過ubuntu aptget方式安裝的nginx 自動編譯好了這個模塊 ,直接開啟就好啦

開啟步驟
第一步
shell鏈接服務(wù)器 輸入nginx -V查看是否已開啟了該模塊

如果你和博主的一樣,帶了這個模塊 說明不用自己再編譯了 省事 應(yīng)該是nginx版本比較新的緣故


image.png

第二步 配置nginx
這個不用全局設(shè)置,因為并不是所有的項目都有g(shù)z文件


image.png

第三步 重啟
nginx -t
nginx –s reload

到此 大功告成!

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容