nginx + vue-cli2 开启gzip

本文介绍如何通过配置Nginx和Webpack实现Gzip压缩,以减少HTTP响应大小,提升网页加载速度。详细步骤包括修改nginx.conf启用Gzip,调整Webpack配置以支持Gzip压缩,以及验证压缩效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

先上nginx的配置

#gzip  on;
开始
    gzip on;
    gzip_min_length 1k;
    gzip_buffers 16 64k;
    gzip_http_version 1.1;
    gzip_comp_level 9;
    gzip_types text/plain application/x-javascript application/javascript text/javascript text/css application/xml application/x-httpd-php image/jpeg image/gif image/png;
    gzip_vary on;
结束,将中间这段代码沾到你的nginx.conf文件里面去
    server {
        listen       80;
        server_name  localhost;

第二步 就是前端要做的事情了

当我们执行 你npm run build 的时候 依赖顺序是这样的 build.js ===》webpack.prod.conf.js =====》config/index.js 是有这样的依赖关系的

开关在config文件夹下的index.js里面

build: {
    // // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'), // 编译输入的 index.html 文件

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'), // 编译输出的静态资源路径
    assetsSubDirectory: 'static', // 编译输出的二级目录
    assetsPublicPath: '/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名

    // // Template for index.html
    // index: path.resolve(__dirname, '../test/index.html'), // 编译输入的 index.html 文件

    // // Paths
    // assetsRoot: path.resolve(__dirname, '../test'), // 编译输出的静态资源路径
    // assetsSubDirectory: 'static', // 编译输出的二级目录
    // assetsPublicPath: '/test/', // 编译发布的根目录,可配置为资源服务器域名或 CDN 域名

    /**
     * Source Maps
     */

    productionSourceMap: false, // 是否开启 cssSourceMap
    // https://webpack.js.org/configuration/devtool/#production
    devtool: '#source-map',

    // Gzip off by default as many popular static hosts such as
    // Surge or Netlify already gzip all static assets for you.
    // Before setting to `true`, make sure to:
    // npm install --save-dev compression-webpack-plugin
    productionGzip: true,
    productionGzipExtensions: ['js', 'css'],

productionGzip:true就行 但是 注意上面的提示 就是你开启gzip的前提是 一定要下载一个插件,然后在修改一个配置文件

webpack.prod.conf.js

webpackConfig.plugins.push(
    new CompressionWebpackPlugin({
      asset: '[path].gz[query]',
      algorithm: 'gzip',
      test: new RegExp(
        '\\.(' +
        config.build.productionGzipExtensions.join('|') +
        ')$'
      ),
      threshold: 10240,
      minRatio: 0.8
    })
  )

将里面的asset修改为filename 此时执行npm run build 的时候还会报一个错误 说options什么配置项有问题,然后差了资料说是版本的问题,所以去package.json里面修改刚才依赖的插件的版本"compression-webpack-plugin": "^1.1.12", 之前是3.0.0 我改成了1.1.12,执行顺利完成,此时在将打包好的资源放到服务器上,打开浏览器输入地址看看加载的js的大小跟文件中.gz结尾的文件大小是否一致。

如何查看是否走的gzip模式,打开浏览器

看到此配置项说明成功了!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮狮

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值