• Stars
    star
    117
  • Rank 301,828 (Top 6 %)
  • Language
    JavaScript
  • Created over 7 years ago
  • Updated over 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

hash2path wrapper for vue.js

vue-img

hash2path wrapper for vue 2, also surport image delay load and image size adaptation for various devices.

使用方法

安装插件

// 默认全局配置
Vue.use(VueImg)

// 自定义全局配置
Vue.use(VueImg, {
  loading: '',
  error: '',
  prefix: '',
  quality: 100,
  adapt: true,
  delay: 2000, // 单位ms,
  cdn: 'qiniu' // 选择要使用的 CDN 服务提供商,目前仅支持 `ali` 和 `qiniu`,默认为 'qiniu'
})

使用指令

基本用法

由于 Vue 2 删除了指令中的 params,故采用 object value 的形式传入参数

<!-- 设置图片 + 默认参数 -->
<img v-img="'xxx'">
<!-- 设置图片 + 自定义参数 -->
<img v-img="{ hash: 'xxx', width: 233, height: 666, defer: true, adapt: false }">

<!-- 设置背景 + 默认参数 -->
<div v-img="'xxx'"></div>
<!-- 设置背景 + 自定义参数 -->
<div v-img="{ hash: 'xxx', width: 12, height: 450 }"></div>

可读属性

VueImg 提供了一些属性,可用于指令以外的场合。你应当视它们为只读属性,避免直接修改。

VueImg.cdn             // [String]   当前环境所使用的 CDN 的域名,例如 http://cube.elemecdn.com
VueImg.cdnProvider     // [String]   当前环境所使用的 CDN 服务提供商,目前仅支持 `ali` 和 `qiniu`,默认为 'qiniu'。
VueImg.canWebp         // [Boolean]  当前环境是否支持 webP
VueImg.getSrc({ ... }) // [Function] 获取图片地址

参数列表

名称 描述 全局配置 指令参数 getSrc 函数
hash [String] 图片哈希(必填)
width [Number] 宽度
height [Number] 高度
format [String] 强制图片格式
fallback [String] 不支持 webP 时转换格式
quality [Number] 图片质量
prefix [String] CDN 地址前缀
suffix [String] CDN 处理后缀 [?]
loading [String] 加载中默认图片哈希
error [String] 失败替换图片哈希
adapt [Boolean] 图片尺寸是否适配设备屏幕
delay [Number] 设置延迟加载最大等待时长(ms)
defer [Boolean] 图片是否进行延迟加载
urlFormatter [Function] 修改 v-img 生成的 url
cdn [String] 图片服务提供商
  • suffix 参数可用于模糊、旋转等特殊处理,具体请参考《七牛 CDN 开发者文档》
  • adapt图片尺寸是否适配设备屏幕大小,指令参数会覆盖全局配置,例如:当全局配置adapt: true时,指令参数adpat: false,那么该图片不会根据设备viewport调整尺寸。
  • defer延迟加载的含义,当defer: false时,图片在v-img指令的bind钩子函数中加载,当defer: true时,又分两种情况,图片在首屏和不在首屏中。在首屏中的图片会在v-img指令的inserted钩子函数中加载,非首屏的图片将等待defer: false和首屏中图片都加载完全后才加载。
  • delay延迟加载最大等待时长,默认值5000ms。/
  • urlFormatter 可以不依赖组件更新让 src 属性适配 CDN 源更新或者添加自定义参数,举例:七牛云的 imageMogr1 => imageMogr2。
  • cdn 指定图片服务提供商,根据不同提供商将采取不同的 URL 拼接规则,只能在全局配置。目前仅支持 aliqiniu,默认为 'qiniu'。

贡献代码

npm install  # 安装依赖
npm run dev  # 构建文件
npm run test # 单元测试

开源协议

MIT

More Repositories

1

element

A Vue.js 2.0 UI Toolkit for Web
Vue
54,115
star
2

mint-ui

Mobile UI elements for Vue.js
Vue
16,570
star
3

node-interview

How to pass the Node.js interview of ElemeFE.
HTML
10,407
star
4

v-charts

基于 Vue2.0 和 ECharts 封装的图表组件📈📊
JavaScript
6,802
star
5

vue-amap

🌍 基于 Vue 2.x 和高德地图的地图组件
JavaScript
3,320
star
6

element-react

Element UI
JavaScript
2,832
star
7

vue-infinite-scroll

An infinite scroll directive for vue.js.
JavaScript
2,828
star
8

page-skeleton-webpack-plugin

Webpack plugin to generate the skeleton page automatically
JavaScript
2,748
star
9

cooking

👨‍🍳 更易上手的前端构建工具
JavaScript
1,948
star
10

node-practice

Node.js 实践教程
JavaScript
1,374
star
11

restc

A server-side middleware to visualize REST requests.
HTML
1,348
star
12

react-amap

基于 React 封装的高德地图组件。AMap Component Based On React.
JavaScript
1,031
star
13

vue-swipe

A touch slider for vue.js.
Vue
929
star
14

vue-desktop

A UI library for building admin panel website.
Vue
550
star
15

element-angular

Element for Angular
TypeScript
522
star
16

hire

寻找热爱生活,把世界变的更好的人
468
star
17

keynote

大前端分享会公开演示文稿
HTML
335
star
18

image-cropper

A image cropper for cropping user avatar, no dependencies.
JavaScript
311
star
19

postcss-salad

沙拉是一个能够帮助你写出更加简洁、优雅的CSS的样式解决方案
CSS
275
star
20

vscode-element-helper

VSCode-Element-Helper is a VS Code package for Element-UI.
TypeScript
240
star
21

smart-gesture

这是一个小型手势组件,支持普通的方向手势和自定义图形手势,兼容PC端和移动端,可以非常方便的用它实现一些酷炫的手势操作。
JavaScript
238
star
22

vue-msgbox

A message box (like Sweet Alert) for vue.js.
JavaScript
236
star
23

bowl

🍚 static resources front-end storage solving strategy
JavaScript
227
star
24

style-guide

style guide for everyone
226
star
25

element-dashboard

element dashboard
Vue
222
star
26

weex-vue-starter-kit

weex starter kit in vue to use weexpack & weex both.(support hot-reload)
JavaScript
179
star
27

obsolete-webpack-plugin

🌈 A Webpack plugin generates a browser-side standalone script that detects browser compatibility based on `Browserslist` and prompts website users to upgrade it.
JavaScript
176
star
28

vue-toast-mobile

A mobile toast plugin for vue.js
HTML
144
star
29

eslint-config-elemefe

JavaScript
136
star
30

mongodb-doc-cn

Mongodb 中文文档, 在线阅读 ->
101
star
31

Hachart

HaHa, this is a flowchart generator.
JavaScript
92
star
32

vue-popup

A popup mixin for vue.js
JavaScript
77
star
33

element-helper

🚀 Element-Helper is a Atom package for Element-UI.
JavaScript
75
star
34

crayfish

基于 CDN 的配置管理系统
JavaScript
58
star
35

webspoon

这是一个 Web 前端工程化的工具包
JavaScript
45
star
36

random

一个随机分组的小工具
HTML
44
star
37

ng-staticize

Staticize your angular template. Zero watcher and fast as template engine.
JavaScript
38
star
38

v-datepicker

基于Vue指令实现的一个日历选择器控件
Vue
33
star
39

clouding

前端「零机器」部署方案
32
star
40

WAI-ARIA-Practices

ARIA实践指南(中文版)
25
star
41

react-native-smart-gesture

smart-gesture for react-native.
JavaScript
24
star
42

image-cropper-touch

A image cropper for mobile device.
JavaScript
15
star
43

vue-smart-gesture

smart-gesture for vue.
JavaScript
15
star
44

vue-desktop-starter

A starter for vue-desktop.
JavaScript
13
star
45

hasaki

A file generator for easy writing your application.
JavaScript
8
star
46

react-smart-gesture

smart-gesture for react.
JavaScript
7
star
47

appCacheReload

JavaScript
5
star
48

element-migration-helper

CLI tool to aid in migration from Element-UI 1.x to 2.0
JavaScript
3
star
49

snapshot

JavaScript
2
star
50

pocket-noodles

A WEB API CACHING SOLUTION
JavaScript
2
star
51

sip

1
star