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的sync修饰符

    Vue的sync修饰符是一个用于实现双向绑定的语法糖,它能够将一个组件的数据状态同步到父组件中,并且在修改子组件数据时,自动更新父组件的状态。 什么是Vue的sync修饰符 sync修饰符是一个特殊的写法,它可以简化我们在组件通信过程中使用v-on和v-bind的写法。 我们都知道,在Vue中,子组件不能直接修改父组件的状态,这是为了保证整个应用程序的稳定性…

    Vue 2023年5月28日
    00
  • javascript 导出数据到Excel(处理table中的元素)

    下面是详细讲解“javascript 导出数据到Excel(处理table中的元素)”的完整攻略,过程中将包含两个示例说明。 1. 简介 在 web 开发中,有时需要将 table 数据导出为 Excel 文件。本文将介绍如何使用纯 javascript 处理 table 中的元素,并将 table 数据导出为 Excel 文件。 2. 代码实现 首先,我们…

    Vue 2023年5月28日
    00
  • vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)

    十分感谢您的提问。下面是我对”vue实现桌面向网页拖动文件的示例代码(可显示图片/音频/视频)”的解答。 首先,我们需要了解一下Drag and Drop API的基本用法。该API是在HTML5中引入的,并允许用户将元素拖放到指定的目标位置上。接下来,我们将根据这一概念给出完整的攻略。 1. 实现基本的拖放功能 下面是一个基本的HTML结构,它包含了两个d…

    Vue 2023年5月28日
    00
  • vue实现列表无缝循环滚动

    关于“vue实现列表无缝循环滚动”的攻略,以下是详细说明: 1. 背景 在日常开发中,我们经常需要实现列表的滚动,并且有时需要实现无缝循环滚动。而vue框架提供了非常方便的实现方式。 2. 实现方案 2.1 方案一 步骤一:数据处理 首先,我们需要在vue的data中定义一个列表数据,并将其从末尾插入到列表头部。 // vue组件中data定义列表数据 da…

    Vue 2023年5月27日
    00
  • 解析Vue2 dist 目录下各个文件的区别

    Vue2 是一款流行的 JavaScript 前端框架,它的 dist 目录下包含了多个文件,每个文件都有自己的职责和用途。下面我将详细讲解 Vue2 dist 目录下各个文件的区别。 vue.js vue.js 文件是最基本的 Vue2 库文件,包含了 Vue 的核心代码和各种插件。如果你只想使用 Vue 就可以将这个文件添加到你的 HTML 文件中,然后…

    Vue 2023年5月28日
    00
  • Vue组件开发之异步组件详解

    Vue组件开发之异步组件详解 什么是异步组件 异步组件,即按需加载组件,是指将组件拆分成各个小模块,并根据需要动态加载组件。这样可以在首次加载应用时,只加载必要的资源,以提升应用的性能。 异步组件使用方法 在 Vue.js 中,如何使用异步组件呢?在 Vue.js 中,我们可以通过 import() 语法或使用特殊的 async component 语法定义…

    Vue 2023年5月28日
    00
  • vue-cli2.9.3 详细教程

    Vue CLI2.9.3 详细教程 Vue CLI2.9.3 是一个由 Vue 官方提供的命令行工具,用于快速搭建基于 Vue.js 的项目和 SPA 应用,可根据用户的选择预设一套规范的项目目录结构、开发规范、自动化构建及相关依赖库等。本教程将详细介绍如何使用 Vue CLI2.9.3 进行项目搭建以及配置。 安装 Vue CLI 命令行工具 首先,需要使…

    Vue 2023年5月27日
    00
  • vue如何使用el-table遍历循环表头和表体数据

    当我们需要在Vue项目中显示表格数据时,我们可以使用 Element UI 提供的 el-table 组件。在使用 el-table 组件时,经常会遇到需要遍历循环表头和表体数据的情况。下面是详细的步骤: 1. 安装 Element UI 首先,我们需要安装 Element UI。打开终端并运行以下命令: npm install element-ui –s…

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