webpack插件compression-webpack-plugin

这篇具有很好参考价值的文章主要介绍了webpack插件compression-webpack-plugin。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Vue配置compression-webpack-plugin实现Gzip压缩

1、为什么要压缩?
打包的时候开启gzip可以很大程度减少包的大小,页面大小可以变为原来的30%甚至更小,非常适合于上线部署。更小的体积对于用户体验来说就意味着更快的加载速度以及更好的用户体验
2、为什么gzip压缩后页面加载速度提升
浏览器向服务器发出请求,并且在请求头中声明可以使用gzip的编码格式,服务器接受到请求之后,读取压缩后的文件,服务器直接返回给浏览器gzip格式的文件,浏览器进行解压缩,这样以来就节省了服务器压缩的时间
3、如何配置
(1)安装依赖

npm i -D compression-webpack-plugin

(2)配置webpack

const compressionPlugin = require('compression-webpack-plugin');
module.exports = {
    devServer: {
        proxy: 'http://10.30.23.207:7000' //开发环境的跨域问题解决,后端服务ip 和 端口
    },
    pages: {
        index: {
            // page 的入口
            entry: 'src/gisEasy7MapPluginMain.js',
            // 模板来源
            template: 'public/index.html',
            // 输出文件名
            filename: 'index.html'
        }
    },
    publicPath: './',
    assetsDir: 'plugins/TdPluginDeviceGis/web',
    lintOnSave: false,
    productionSourceMap: true,
    filenameHashing: process.env.NODE_ENV === 'production' ? false : true,
    configureWebpack: config => {
        if (process.env.NODE_ENV === 'production') {
            return {
                plugins: [
                    new compressionPlugin({
                        test: /\.js$|\.html$|\.css/,
                        threshold: 10240,
                        deleteOriginalAssets: false
                    })
                ],
                output: {
                    jsonpFunction: 'TdPluginDeviceGis'
                }
            };
        }
    }
};

(3) npm run build 打包
webpack插件compression-webpack-plugin,webpack,webpack,前端,node.js
打包后发现 生成.gz压缩包
(4)配置nginx
服务端 Nginx 需开启 gzip_static 功能;

server{
    //开启和关闭gzip模式
	gzip on;
	//gizp压缩起点,文件大于2k才进行压缩;设置允许压缩的页面最小字节数,页面字节数从header头得content-length中进行获取。 默认值是0,不管页面多大都压缩。建议设置成大于2k的字节数,小于2k可能会越压越大。
	gzip_min_length 2k;
	// 设置压缩所需要的缓冲区大小,以4k为单位,如果文件为7k则申请2*4k的缓冲区 
	gzip_buffers 4 16k;
	// 设置gzip压缩针对的HTTP协议版本
	gzip_http_version 1.0;
	// gzip 压缩级别,1-9,数字越大压缩的越好,也越占用CPU时间
	gzip_comp_level 2;
	//进行压缩的文件类型
	gzip_types text/plain application/javascript text/css application/xml;
	// 是否在http header中添加Vary: Accept-Encoding,建议开启
	gzip_vary on;
}

(5)访问
资源发布到服务器,在请求中可以看到
webpack插件compression-webpack-plugin,webpack,webpack,前端,node.js文章来源地址https://www.toymoban.com/news/detail-585463.html

到了这里,关于webpack插件compression-webpack-plugin的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Webpack:HTML Webpack Plugin插件

            HTML Webpack Plugin 插件,在Webpack构建的前端项目中,用于简化index.html文件的创建,以免除项目打包之后手动创建/拷贝index.html到打包目录下的繁琐步骤。以下,从一个已构建好的Vue项目中的一个现象谈起,逐步深入了解此插件的使用。 目录 从Vue项目中的index.html谈起

    2024年02月07日
    浏览(30)
  • Webpack常见的插件和模式

    1 认识插件Plugin 2 CleanWebpackPlugin 3 HtmlWebpackPlugin 4 DefinePlugin 5 mode模式配置   举个例子:一个less文件,在loader转换后只会放到原来的文件里面,但是如果你用了插件,就可以将loader转换后的代码放到另外一个新的css文件里面,一个操作。   Output | webpack 中文文档 | webpack 中文文

    2024年02月06日
    浏览(15)
  • 手写一个webpack插件(plugin)

    熟悉 vue 和 react 的小伙伴们都知道,在执行过程中会有各种生命周期钩子,其实webpack也不例外,在使用webpack的时候,我们有时候需要在 webpack 构建流程中引入自定义的行为,这个时候就可以在 hooks 钩子中添加自己的方法。 创建插件 webpack 加载 webpack.config.js 中所有配置,此

    2024年02月08日
    浏览(33)
  • webpack 插件机制分析及开发调试

    目录 webpack插件机制 插件概念 Webpakck插件的基本模型 apply方法的由来 入参Compiler对象解释 区分Compilation 对象 Tapable Tapable 实例 Plugin调用流程 开发调试PluginLoader         webpack 插件机制是整个 webpack 工具的骨架,而 webpack 本身也是利用这套插件机制构建出来的。       

    2024年02月16日
    浏览(28)
  • chrome插件:一个基于webpack + react的chrome 插件项目模板

    项目结构 主要的文件 manifest.json package.json 完整项目结构 完整代码:https://github.com/mouday/good-dev/

    2024年02月09日
    浏览(28)
  • Webpack 插件实现 CSS 样式尺寸单位转换

    以下是编写的一个 Webpack 插件,用于将样式文件中以 rpx 为单位的值转换为以 px 为单位的值(换算比率为 1px=2rpx): 上面的代码创建了一个名为 CssSzieConvertPlugin 的插件类。该插件通过注册到 Webpack 的 emit 钩子上来处理样式文件。 在钩子回调函数中,首先遍历所有的 chunk 和文

    2024年02月08日
    浏览(25)
  • 使用webpack插件webpack-dev-server 出现Cannot GET/的解决办法

    文档地址深入浅出webpack 使用 DevServer运行webpack,跑起来之后提示 Cannot GET/ : 查阅官方文档 根据目录结构修改对应的配置: 然后就可以成功访问:

    2024年02月14日
    浏览(31)
  • 第3集丨webpack 江湖 —— 插件(plugin)的安装和使用

    webpack plugins 插件可以完成更多 loader 不能完成的功能。插件( plugin )的使用一般是在 webpack 的配置信息 plugins 选项中指定。 Webpack 本身内置了一些常用的插件,还可以通过 npm 安装第三方插件。 webpack-dev-server 可用于快速开发应用程序。类似于 node.js 阶段用到的 nodemon 工具,每

    2024年02月15日
    浏览(29)
  • 清理构建目标文件夹的两种方式:webpack配置选项 VS clean-webpack-plugin插件

    92. 清理构建目标文件夹的两种方式:webpack配置选项 VS clean-webpack-plugin插件 在 webpack 中, clean: true 是一项配置选项,而 clean-webpack-plugin 是一个插件。它们的作用是清理(删除)构建目标文件夹中的旧文件。 1. clean: true 配置选项: 在 webpack 的配置文件中,你可以使用 clean 配

    2024年02月11日
    浏览(33)
  • 初识webpack(二)解析resolve、插件plugins、dev-server

    目录 (一)webpack的解析(resolve) 1.resovle.alias 2.resolve.extensions 3.resolve.mainFiles (二) plugin插件 1.CleanWebpackPlugin 2.HtmlWebpackPlugin 3.DefinePlugin  (三)webpack-dev-server 1.开启本地服务器 2.HMR模块热替换 3.devServer的更多配置项  解析(Resolve) | webpack 中文文档 | webpack中文文档 | webpack中文网 resolve

    2024年02月19日
    浏览(34)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包