经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » JS/JS库/框架 » Vue.js » 查看文章
vue-cli3打包时图片压缩处理方式
来源:jb51  时间:2022/3/29 8:44:00  对本文有异议

vue-cli3打包时图片压缩

当我们在 JavaScript、CSS 或 *.vue 文件中使用相对路径 (必须以 . 开头) 引用一个静态资源时,该资源将会被包含进入 webpack 的依赖图中。

在其编译过程中,所有诸如 <img src="...">、background: url(...) 和 CSS @import 的资源 URL 都会被解析为一个模块依赖。

在其内部,vue 通过 file-loader 用版本哈希值和正确的公共基础路径来决定最终的图片路径,再用 url-loader 将小于 4kb 的图片内联,以减少 HTTP 请求的数量。

我们可以通过 chainWebpack 调整图片的大小限制。

例如

我们将图片大小限制设置为 6kb,低于6kb的图片全部被内联,高于6kb的图片会放在单独的img文件夹中。

代码如下

  1. // vue.config.js
  2. module.exports = {
  3. chainWebpack: (config) => {
  4. const imagesRule = config.module.rule("images")
  5. imagesRule
  6. .use('url-loader')
  7. .loader('url-loader')
  8. .tap(options => Object.assign(options, { limit: 6144 }))
  9. }
  10. }

vue-cli3压缩图片配置

安装image-webpack-loader插件

1、如果先前尝试使用 yarn 或 npm 安装过,一定要先卸载掉,然后用 cnpm 安装

  1. yarn remove image-webpack-loader ? // npm uninstall image-webpack-loader

2、使用 cnpm 安装  image-webpack-loader 会发现很快就安装好了,【手动滑稽】

  1. cnpm install --save-dev ?image-webpack-loader?

注:如果先前尝试使用 yarn 或 npm 安装过,一定要先卸载掉用 cnpm 安装

在vue.config.js当中进行配置

  1. chainWebpack: config => {
  2. ? ? ? ? const imagesRule = config.module.rule('images')
  3. ? ? ? ? imagesRule
  4. ? ? ? ? ? ? .use('image-webpack-loader')
  5. ? ? ? ? ? ? .loader('image-webpack-loader')
  6. ? ? ? ? ? ? .options({
  7. ? ? ? ? ? ? ? ? bypassOnDebug: true
  8. ? ? ? ? ? ? })
  9. ? ? ? ? ? ? .end()
  10. ? ? },

然后进行打包,图片的压缩最高可达60%以上。

如果在nuxt项目直接下载 image-webpack-loader即可,不用进行配置,也能达到效果。

以上为个人经验,希望能给大家一个参考,也希望大家多多支持w3xue。

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号