webpack-plugin-image-transform-webp-and-mini

1.0.6 • Public • Published

webpack-plugin-image-transform-webp-and-mini

webpack插件 用于将指定目录下的图片,转换为webp格式和一张压缩后的图片

功能

本插件提供了,根据用户传入进去的路径,对图片进行压缩mini和webp格式的图片,配合懒加载的组件功能使用 比如

<LazyBackground
  class="test"
  :src = "require('./images/logo.jpg')"
>
  测试地址11123
</LazyBackground>

上面的组件是另外一个功能,提供了该组件在加载这个图片的时候,首先会加载小图,然后根据判断浏览器是否支持webp从而加载对应的图片。 组件的详情地址是:

https://www.npmjs.com/package/vue-lazy-background-component

这个插件就是为了解决自动化生成小图和webp而制作的。 对于这两个插件如有任何疑问 欢迎提一些issue 我的QQ:956826374

使用

在webpack中引入中使用

npm install webpack-plugin-image-transform-webp-and-mini --save-dev


const webpackPluginImageTransformWebpAndMini = require('webpack-plugin-image-transform-webp-and-mini')
...
{
  ...
  plugins: [
    new webpackPluginImageTransformWebpAndMini({
      name: '[name]-[hash:8].[ext]',
      logger: true,
      webpOptions: {
        src: src => src.replace(/(?:\.\w+)(\?|$)/, '.webp$1')
      },
      miniOptions: {
        src: src => src.replace(/\.(\w+?)(\?[\s\S]+)?$/,'-min.$1$2'),
        resize: {
          width: 100
        }
      },
      paths: {
        dir: path.resolve(__dirname, './src/assets'),
        include: ['bg']
      }
    })
  ]
}

参数说明

- name 必填项,主要和图片的file-loader或者url-loader采用的规则一样
- paths 必填项,会根据用户所填的路径进行转换(可递归)
  - 字符串:只是将此路径下的图片进行转换
  - 对象:
    {
      dir: 路径
      include: 字符串数组,只是在该路径下指定的文件进行转换
      exclude: 字符串数组,只是在该路径下除去指定的文件进行转换
    }
- logger 是否打印日志,默认是false
- webpOptions,对生成的webp的路径进行配置,接受一个函数,参数是图片名称,需要返回一个字符串作为图片的名称。默认只是将图片的后缀修改为wepb
  {
    src: src => src
  }
- miniOptions,对生成的小图进行配置,
  {
    src: src => src     // 和上面的功能一样,默认把图片的名称后面加入-min后缀
    resize: {   // 要压缩的图片大小,如果只写一个,那么默认进行比例,默认width为100
      width: xxx
      height: xxx
    }
  }

Package Sidebar

Install

npm i webpack-plugin-image-transform-webp-and-mini

Weekly Downloads

5

Version

1.0.6

License

MIT

Unpacked Size

21.3 kB

Total Files

12

Last publish

Collaborators

  • 956826374