• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

webpack-spritesmith 精灵图合成和使用

武飞扬头像
小码农码代码
帮助1

前言:因为要使用精灵图 ,所以学习一下,顺便记录了过程。

1、新建空白目录,然后进入到该目录下,使用命令:npm init --yes 初始化项目;

2、全局安装webpack,或者在该项目中局部安装webpack

安装指令:npm i webpack@3.5.5(注:我安装了3.5.5,也可以安装其他版本的)

3、在项目中建立JS文件作为入口文件,名字随便命名,内容如下:

            学新通

4、在项目中建立webpack.config.js文件,配置如下:

  1.  
    const path=require("path");
  2.  
    const SpritesmithPlugin = require('webpack-spritesmith');
  3.  
    module.exports={
  4.  
    // javascript执行入口文件
  5.  
    entry:'./main.js',
  6.  
    //指定输出路径path和输出文件名filename
  7.  
    output:{
  8.  
    filename:'bundle.js',//自定义输出文件名
  9.  
    path:path.resolve(__dirname,'./dist')//自定义输出文件所在目录
  10.  
    },
  11.  
    // mode:'development',
  12.  
     
  13.  
    plugins: [
  14.  
    new SpritesmithPlugin({
  15.  
    //设置源icons,即icon的路径,必选项
  16.  
    src: {
  17.  
    cwd: path.resolve(__dirname, 'src/images/icons'),
  18.  
    glob: '*.png'
  19.  
    },
  20.  
    //设置导出的sprite图及对应的样式文件,必选项
  21.  
    target: {
  22.  
    image: path.resolve(__dirname, 'src/images/sprites/sprite.png'),
  23.  
    css: path.resolve(__dirname, 'src/images/sprites/sprite.less') //也可以为css, sass文件,需要先安装相关loader
  24.  
    },
  25.  
    //设置sprite.png的引用格式
  26.  
    apiOptions: {
  27.  
    cssImageRef: './sprite.png' //cssImageRef为必选项
  28.  
    },
  29.  
    //配置spritesmith选项,非必选
  30.  
    spritesmithOptions: {
  31.  
    algorithm: 'top-down'//设置图标的排列方式
  32.  
    }
  33.  
    })
  34.  
    ]
  35.  
     
  36.  
    };
  37.  
     
  38.  
     
学新通

5、建立src文件夹,在src下再建立如下目录:

                                  学新通 

将要合成的小图标放到icons文件夹中,sprites文件夹放合成的精灵图。 

6、在控制台执行指令:npm i webpack-spritesmith@1.1.0   局部安装webpack-spritesmith插件。

        安装成功后,项目中会多出来一个node-modules文件夹

                                        学新通

7、安装成功后 执行命令:webpack  进行打包,你会看到sprites文件夹中以合成精灵图。

                                     学新通

           我的四个小图标合成如下一张图:

                                       学新通

8、建立index.html文件

  1.  
    <!DOCTYPE html>
  2.  
    <html>
  3.  
    <head>
  4.  
    <meta charset="utf-8">
  5.  
    <title></title>
  6.  
    </head>
  7.  
    <body>
  8.  
    <script type="text/javascript" src="./dist/bundle.js" charset="utf-8"></script>
  9.  
    <div>
  10.  
    <div class="icon1"></div>
  11.  
    <div class="icon2"></div>
  12.  
    <div class="icon3"></div>
  13.  
    <div class="icon4"></div>
  14.  
     
  15.  
    </div>
  16.  
    </body>
  17.  
    <style>
  18.  
     
  19.  
    .icon1,.icon2,.icon3,.icon4{
  20.  
    width: 60px;
  21.  
    height: 60px;
  22.  
    float: left;
  23.  
    background: url(./src/images/sprites/sprite.png);
  24.  
     
  25.  
    }
  26.  
    .icon1{
  27.  
    background-position: 0 0px;
  28.  
    }
  29.  
    .icon2{
  30.  
    background-position: 0 -70px;
  31.  
    }
  32.  
    .icon3{
  33.  
    background-position: 0 -140px;
  34.  
    }
  35.  
    .icon4{
  36.  
    background-position: 0 -210px;
  37.  
    }
  38.  
    </style>
  39.  
    </html>
学新通

 即可实现精灵图使用

                              学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgffjhj
系列文章
更多 icon
同类精品
更多 icon
继续加载