vue-cli3打包时图片压缩处理方式

关于“vue-cli3打包时图片压缩处理方式”的完整攻略,我们可以采用如下两个步骤来实现:

第一步:安装相关依赖

为了实现图片的压缩处理,我们需要安装相关的依赖包,具体步骤如下:

1.1 安装imagemin-webpack-plugin

npm install --save-dev imagemin-webpack-plugin

这里使用了npm工具安装了imagemin-webpack-plugin插件,该插件可用于在webpack构建图片时对图片进行压缩处理。

1.2 安装imagemin-mozjpeg

npm install --save-dev imagemin-mozjpeg

这里再次使用npm工具安装了imagemin-mozjpeg插件,该插件用于压缩jpeg格式的图片。

1.3 安装imagemin-pngquant

npm install --save-dev imagemin-pngquant

通过npm工具安装imagemin-pngquant插件,该插件用于压缩png格式的图片。

第二步:配置webpack生产模式下的图片压缩处理

为了在webpack构建打包时让它自动进行图片压缩处理,我们需要对vue.config.js文件进行配置。具体操作步骤如下:

2.1 在vue.config.js中进行图片压缩处理配置

const ImageminPlugin = require('imagemin-webpack-plugin').default
const ImageminMozjpeg = require('imagemin-mozjpeg')
const ImageminPngquant = require('imagemin-pngquant')

module.exports = {
    configureWebpack: {
        plugins: [
            new ImageminPlugin({
                test: /\.(jpe?g|png|gif|svg)$/i,
                plugins: [
                  ImageminMozjpeg({
                    quality: 80,
                    progressive: true,
                  }),
                  ImageminPngquant({
                    quality: [0.6, 0.8]
                  })
                ]
            }),
        ]
    }
}

首先,将相关插件导入,并在configureWebpack配置项中添加plugins。其中,ImageminPlugin插件是用于压缩图片的主要插件,其中的test属性用于指定需要进行压缩处理的图片格式(这里包括了常规的jpg、png、gif、svg等格式);plugins属性用于指定使用哪些具体的图片压缩方式,这里我们使用了上述安装的imagemin-mozjpegimagemin-pngquant插件。

2.2 在npm run build时进行压缩处理

我们还需要在package.json中的scripts配置项下,对npm run build的执行过程进行配置,以使它在执行打包构建命令时能够进行图片压缩处理:

"scripts": {
    "build": "vue-cli-service build"
}

将上述scripts配置项修改为如下所示即可:

"scripts": {
    "build": "npm run build-imagemin",
    "build-imagemin": "vue-cli-service build"
}

这里,默认执行npm run build时实际上是在执行具体的build-imagemin命令,该命令会执行vue-cli-service build,并在构建时进行图片压缩处理。

示例说明

示例1

假设你的项目中有一张图片,路径为/src/assets/img/logo.png。在打包构建时,可以通过如下命令进行压缩:

npm run build-imagemin

如果已经配置好相应的依赖包,该命令会自动对/src/assets/img/logo.png进行压缩,最终生成的图片在/dist/img/logo.png路径下。

示例2

我们还可以针对具体的vue组件中的图片进行压缩处理,例如下面这个组件:

<template>
  <div>
    <img src="./assets/img/banner.jpg" alt="banner"/>
  </div>
</template>

<script>
  export default {
    name: 'Banner',
    data() {
      return {}
    }
  }
</script>

<style scoped>
  img {
    width: 100%;
  }
</style>

该组件中引用了./assets/img/banner.jpg这个图片路径,如果要对它进行压缩处理,只需要进行以下操作:

  • vue.config.js配置文件中引入相关的插件
  • configureWebpack配置项中添加相应的插件配置
  • 执行npm run build-imagemin打包命令

执行上述流程后,打包过后的图片会自动添加到/dist目录下,组件中的<img>标签会自动使用经过压缩处理后的图片。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue-cli3打包时图片压缩处理方式 - Python技术站

(0)
上一篇 2023年5月28日
下一篇 2023年5月28日

相关文章

  • VUE搭建分布式医疗挂号系统后台管理页面示例步骤

    以下是针对 “VUE搭建分布式医疗挂号系统后台管理页面” 的完整攻略,具体步骤如下: 1. 创建Vue项目 首先,我们需要使用Vue CLI来创建一个Vue项目。在命令行中输入以下命令: vue create medical-admin 这将创建一个名为 medical-admin 的项目,并安装Vue的依赖项。 2. 安装Element UI库 由于我们将…

    Vue 2023年5月28日
    00
  • 在vue中读取本地Json文件的方法

    当需要在Vue项目中读取本地的JSON文件时,可以使用 Vue.js 的 HTTP 客户端 Vue-resource 或者使用浏览器的原生 API fetch。 下面我将为您提供 Vue-resource 和 fetch 两种方法的使用详细攻略和示例。 一、使用Vue-resource获取本地JSON文件的方法 安装Vue-resource 首先需要在Vue…

    Vue 2023年5月28日
    00
  • vue绑定class的三种方法

    当我们在Vue中使用class绑定时,有三种方法来操作class: 对象语法 数组语法 字符串语法 对象语法 使用对象语法绑定class,可以根据不同的条件动态地增加或移除class。 <template> <div :class="{ ‘active’: isActive, ‘text-danger’: hasError }&q…

    Vue 2023年5月28日
    00
  • vue中巧用三元表达式解析

    下面来详细讲解在Vue中如何巧用三元表达式解析。 一、什么是三元表达式 三元表达式是由三个部分组成的表达式,包括条件语句、返回值1和返回值2。当条件语句满足时,返回值1,不满足时,返回值2。其结构如下: 条件语句 ? 返回值1 : 返回值2 简单来说,三元表达式是一种可以在一行代码中完成条件判断的方式。 二、在Vue中使用三元表达式 在Vue中,我们可以使用…

    Vue 2023年5月27日
    00
  • 如何理解Vue前后端数据交互与显示

    如何理解Vue前后端数据交互与显示 前言 前端框架Vue.js已经成为了现代Web开发中的重要工具之一。Vue.js的主要目标是提供简单易用的API,实现快速构建应用程序。其中最重要的一项功能就是数据交互,即前后端的数据交互。在使用Vue.js构建前端应用程序时,我们需要与后端进行数据交互,同时也需要在前端将这些数据进行显示。在本文中,我们将重点探讨Vue.…

    Vue 2023年5月29日
    00
  • Vue组件化开发的必备技能之组件递归

    来讲解一下“Vue组件化开发的必备技能之组件递归”的完整攻略吧。 什么是组件递归 组件递归是一种将组件自身作为其子组件嵌套的方式,实现组件的无限嵌套。在组件递归中,我们使用自定义组件作为自身的子组件,以形成一个递归的树形结构。组件递归可以帮助我们很好地组织和呈现数据。 组件递归的实现 组件递归的实现主要需要以下几个步骤: 定义组件 首先,我们需要定义一个组件…

    Vue 2023年5月29日
    00
  • 从零到一详聊创建Vue工程及遇到的常见问题

    从零到一详聊创建Vue工程及遇到的常见问题 Vue.js是一款流行的JavaScript框架,非常适合构建现代化的Web应用程序,本文将介绍如何从零开始创建Vue.js工程,并解决一些常见的问题。 步骤1:安装Node.js 在开始之前,我们需要先安装Node.js。Node.js是一款基于Chrome V8引擎的JavaScript运行时,可以在服务器端运…

    Vue 2023年5月27日
    00
  • Vue3中操作dom的四种方式总结(建议收藏!)

    关于Vue3中操作dom的四种方式总结,建议收藏!这个主题,我们可以分成四个部分来介绍。 直接操作DOM(不推荐) 我们先来看第一种方式,直接操作DOM。在Vue3中,这种方式已经不再被推荐使用。由于直接操作DOM可能会造成状态和视图的不一致,可能还会影响性能。不过我们还是需要知道如何使用这种方式,以便我们可以避免它。 在Vue3中,我们可以使用 ref 来…

    Vue 2023年5月28日
    00
合作推广
合作推广
分享本页
返回顶部