美文网首页工作生活
webpack4图片的加载和优化

webpack4图片的加载和优化

作者: 最底层的技术渣 | 来源:发表于2019-07-16 21:28 被阅读0次

前言:

图片在每个网站设置页码都是必不可少的,性能等等方面也是占用相当大的比率,webpack也支持对图片的处理

在 css 文件或者 sass 文件中添加如下代码

$red: #900;
$size: 20px;

.box {
  height: 30px*2;
  font-size: $size;
  transform: translate3d( 0, 0, 0 );
+ background: url('../static/1.jpeg')
}

运行打包发现如下错误:

ERROR in ./src/static/1.jpeg 1:0
Module parse failed: Unexpected character '�' (1:0)
You may need an appropriate loader to handle this file type.
webpack打包时出现的错误截图

解决方案:file-loader处理文件的导入

npm install --save-dev file-loader

webpack.config.js

  const path = require('path');

  module.exports = {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist')
    },
    module: {
      rules: [
        {
          test: /\.css$/,
          use: [
            'style-loader',
            'css-loader'
          ]
        },
+       {
+         test: /\.(png|svg|jpg|gif)$/,
+         use: [
+           'file-loader'
+         ]
+       }
      ]
    }
  };

此时运行打包,发现 dist 目录多了一个图片文件,另外报错不再出现。

那更进一步,图片如何进行优化呢?

image-webpack-loader可以帮助我们对图片进行压缩和优化。

npm install image-webpack-loader --save-dev

使用:webpack.config.js

  const path = require('path');

  module.exports = {
    entry: './src/index.js',
    output: {
      filename: 'bundle.js',
      path: path.resolve(__dirname, 'dist')
    },
    module: {
      rules: [
        {
          test: /\.css$/,
          use: [
            'style-loader',
            'css-loader'
          ]
        },
        {
          test: /\.(png|svg|jpg|gif|jpeg|ico)$/,
          use: [
            'file-loader',
+           {
+             loader: 'image-webpack-loader',
+             options: {
+               mozjpeg: {
+                 progressive: true,
+                 quality: 65
+               },
+               optipng: {
+                 enabled: false,
+               },
+               pngquant: {
+                 quality: '65-90',
+                 speed: 4
+               },
+               gifsicle: {
+                 interlaced: false,
+               },
+               webp: {
+                 quality: 75
+               }
+             }
+           },
          ]
        }
      ]
    }
  };

此时在运行 webpack,发现会 生成的图片的大小会被压缩很多。

相关文章

  • webpack4图片的加载和优化

    前言:图片在每个网站设置页码都是必不可少的,性能等等方面也是占用相当大的比率,webpack也支持对图片的处理 在...

  • iOS性能优化——图片加载和处理

    iOS性能优化——图片加载和处理 iOS性能优化——图片加载和处理

  • iOS 图片渲染

    1.图片的加载 ------> 2.图片的解码 ------>图片的渲染 引用 图片加载优化

  • 前端性能优化

    性能优化的话大致有以下几个部分:加载优化图片优化CSS优化脚本优化渲染优化 加载优化 1.减少http请求 基本原...

  • 雷达优化

    一.雷达现状 二.雷达加载内容 三.雷达优化方向 3.1模块/资源加载优化 3.2图片优化 3.3

  • Android 图片缓存

    前言 本篇主要包含两个方面的内容: 图片的加载和优化图片的加载 LruCache,DisLruCache的使用与图...

  • 鲜为人知的5个图片优化技巧

    鲜为人知的5个图片优化技巧 现在很多网站以图片为主,那么如何优化图片呢?下面重点从提高图片加载速度和改善图片在搜索...

  • 优化tableview加载网络图片

    优化tableview加载网络图片 最近在优化公司的TableView的代码,有个界面需要加载一个在线的图片列表,...

  • 性能优化文章

    iOS性能优化——图片加载和处理 作者:落影loyinglin 【基本功】深入剖析Swift性能优化

  • 如何实现图片懒加载,预加载!!

    提到前端性能优化中图片资源的优化,懒加载和预加载就不能不说,下面我用最简洁明了的语言说明懒加载和预加载的核心要点以...

网友评论

    本文标题:webpack4图片的加载和优化

    本文链接:https://www.haomeiwen.com/subject/jijchctx.html