zoukankan      html  css  js  c++  java
  • webpack学习(七)打包压缩图片

    使用插件webpack-spritesmith生成雪碧图

    1、安装webpack-spritesmith;
    npm install --save-dev webpack-spritesmith

    2.配置webpack.config.js

            new SpritesmithPlugin({     //生成的雪碧图本身就压缩了图片大小
                src: {
                    cwd: path.resolve(__dirname, 'src/image/icon'),  //准备合并成sprit的图片存放文件夹
                    glob: '*.png'  //哪类图片
                },
                target: {
                    image: path.resolve(__dirname, 'dist/sprites/sprites.png'),  // sprite图片保存路径
                    css: path.resolve(__dirname, 'dist/sprites/_sprites.css')  // 生成的css保存在哪里
                },
                apiOptions: {
                    cssImageRef: "../sprites/sprites.png" //css根据该指引找到sprite图
                }
            }),

    贴一张目录

    3、执行webpack打包指令,执行后打包生成dist/sprites/文件

    4、index.html文件中引入sprite.css,如:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>webpack</title>
        <link href="bundle.3a78e3af7afe10200470.css" rel="stylesheet"></head>
        <link href="sprites/_sprites.css" rel="stylesheet">  //引用就可以了
    </head>
    <body>
        <!--测试webpack-->
        <div class="test">测试webpack</div>
        <div class="test1">测试webpack1</div>
        <div class="icon-a">a</div>  //需要的地方来用就可以了
        <div class="icon-b">b</div>
    <script type="text/javascript" src="bundle-3a78e3af7afe10200470.js"></script>
    </body>
    </html>

     合成后的sprites.png

    合成后的sprites.css

    .icon-a {  //名称为icon+图片名
      background-image: url(../sprites/sprites.png);
      background-position: 0px 0px;
      width: 50px;
      height: 50px;
    }
    .icon-b {
      background-image: url(../sprites/sprites.png);
      background-position: -50px 0px;
      width: 50px;
      height: 50px;
    }
    .icon-c {
      background-image: url(../sprites/sprites.png);
      background-position: 0px -50px;
      width: 50px;
      height: 50px;
    }

     5.适用的场景

    
    
  • 相关阅读:
    api服务器思路
    利用express写api接口
    sql基础语句
    安装npm后,nrm ls 报错internal/validators.js:124 throw new ERR_INVALID_ARG_TYPE(name, ‘string‘, value)
    JavaScript垃圾回收机制和闭包
    用git clone 远程的所有分支
    面试题重点
    Linux 常用命令
    防抖函数和节流函数
    GIT PUSH 出现EVERYTHING UP-TO-DATE 解决方法
  • 原文地址:https://www.cnblogs.com/chaixiaozhi/p/8620766.html
Copyright © 2011-2022 走看看