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

yizhihongxing

关于“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组件库发布到npm详解

    Vue组件库是一种能够提供多种可重用组件的集合,可以方便地在不同项目中使用。将Vue组件库发布到npm(Node.js包管理器)上能够让其他开发者更加方便地使用你的组件库。下面是发布Vue组件库的详细攻略: 步骤1:创建Vue组件库 首先,使用Vue CLI创建一个新的Vue项目,这个项目将作为你的Vue组件库的代码库。之后,你需要将你的Vue组件定义为一个…

    Vue 2023年5月28日
    00
  • vue axios基于常见业务场景的二次封装的实现

    为了更好地在Vue项目中使用axios库,我们可以通过二次封装的方式对axios进行自定义处理,使其更加符合我们项目的实际需求。下面是基于常见业务场景的二次封装步骤及示例说明: 一、安装axios和qs 在使用axios之前,我们需要安装axios和qs两个依赖。axios是一种基于Promise的HTTP客户端,可以用于浏览器和node.js。而qs是一个…

    Vue 2023年5月27日
    00
  • 前端Vue项目详解–初始化及导航栏

    下面我来详细讲解“前端Vue项目详解–初始化及导航栏”的完整攻略。 初始化Vue项目 首先我们需要使用Vue脚手架来初始化我们的前端项目。具体步骤如下: 在终端中输入以下命令来安装Vue脚手架: npm install -g @vue/cli 运行以下命令来创建一个新的Vue项目: vue create my-project 其中my-project是你的…

    Vue 2023年5月28日
    00
  • Vue2异步更新及nextTick原理详解

    Vue2异步更新及nextTick原理详解 前言 Vue.js是一个渐进式JavaScript框架,它采用MVVM模式,架构清晰,可以快速实现前端页面开发。在Vue的生命周期中,我们经常会遇到异步更新的情况,为了更好地了解Vue的异步更新机制,本文将详细讲解Vue2的异步更新及nextTick原理,并附带多个示例。 Vue的异步更新 在Vue组件中,当数据发…

    Vue 2023年5月28日
    00
  • vue – props 声明数组和对象操作

    当我们通过props传递数组或对象数据时,需要注意以下几点: 父组件向子组件传递数组或对象数据时,需要使用v-bind绑定数据,子组件中需要使用props接收数据。 子组件可以直接使用props接收到的数组或对象数据,也可以对其进行修改操作。但需要注意:Vue不建议直接修改props中的数据,否则可能会导致数据流不清晰,难以维护。 如果子组件需要修改prop…

    Vue 2023年5月28日
    00
  • Vue 项目性能优化方案分享

    下面我将为您详细讲解Vue项目性能优化方案分享的完整攻略。 一、性能优化方案 在Vue项目中,为了提升应用的性能,我们可以采取以下几种优化方案: 1. 优化Webpack打包配置 我们可以对Webpack打包配置进行优化,来提高项目的打包效率。比如使用HappyPack插件来开启多线程打包,使用DllPlugin插件来抽离第三方库等。 2. 首屏加载优化 针…

    Vue 2023年5月27日
    00
  • vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component

    下面是详细讲解 vue-cli3 项目优化之通过 node 自动生成组件模板 generate View、Component 的完整攻略。 1. 什么是 vue-cli3? Vue CLI 是一个官方发布的 Vue.js 项目脚手架,提供了标准化、插件化的 Vue 项目开发体验。vue-cli3 是 Vue CLI 的第三个版本,相较于前两个版本,vue-c…

    Vue 2023年5月28日
    00
  • Vue基础之侦听器详解

    Vue基础之侦听器详解 在Vue中,我们可以通过侦听器来监听组件内部数据的变化并做相应的处理。侦听器可以观察数据的变化并在变化时执行一些操作。在本篇文章中,我们将深入探讨Vue的侦听器,包括如何定义侦听器,侦听器的使用场景以及一些示例。 定义侦听器 我们可以在Vue组件内定义侦听器,在组件的watch选项中添加需要侦听的数据和相应的处理函数即可。定义侦听器的…

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