欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

基于Vue2x的图片预览插件的示例代码

程序员文章站 2022-11-12 15:04:48
本文介绍了基于vue2x的图片预览插件的示例代码,分享给大家,具体如下: 先来看下demo livedemo 关于开发vue插件的几种方式 (具体请移步官网)...

本文介绍了基于vue2x的图片预览插件的示例代码,分享给大家,具体如下:

先来看下demo

livedemo

基于Vue2x的图片预览插件的示例代码

关于开发vue插件的几种方式 (具体请移步官网)vue官网

myplugin.install = function (vue, options) {
 // 1. 添加全局方法或属性
 vue.myglobalmethod = function () {
  // 逻辑...
 }

 // 2. 添加全局资源
 vue.directive('my-directive', {
  bind (el, binding, vnode, oldvnode) {
   // 逻辑...
  }
  ...
 })

 // 3. 注入组件
 vue.mixin({
  created: function () {
   // 逻辑...
  }
  ...
 })

 // 4. 添加实例方法
 vue.prototype.$mymethod = function (methodoptions) {
  // 逻辑...
 }
}

我采用第一种方式来编写这个插件

1.第一步创建项目

vue init webpack-simple youprojectname(你的项目名称)具体操作不在赘述

基于Vue2x的图片预览插件的示例代码

2.开始插件开发,编写index.js

import vuepictureviewer from './vue-picture-viewer'
const pictureviewer = {
 install (vue, options) {
  vue.component(vuepictureviewer.name, vuepictureviewer)
 }
}

if (typeof window !== 'undefined' && window.vue) { // 这段代码很重要
 window.vue.use(pictureviewer)
}
export default pictureviewer

3.编写vue-picture-viewer.vue也挺简单(具体可以去看源码)

4.如何使用(main.js)

import vuepictureviewer from './lib/index.js'
vue.use(vuepictureviewer)

app.vue

<template>
 <div id="app">
  <vue-picture-viewer :imgdata="imgurl" :switch="true" v-if="imgurl"></vue-picture-viewer>
 </div>
</template>

<script>
export default {
 name: 'app',
 data () {
  return {
   imgurl: [{
     url:'http://p8ny46w8x.bkt.clouddn.com/test1.jpg',
     name: 'test1.jpg'
    },
    {
     url: 'http://p8ny46w8x.bkt.clouddn.com/test2.jpg',
     name: 'test2.jpg'
    }, {
     url: 'http://p8ny46w8x.bkt.clouddn.com/test3.jpg',
     name: 'test3.jpg'
    },
    {
     url: 'http://p8ny46w8x.bkt.clouddn.com/test4.jpg',
     name: 'test4.jpg'
    }]
  }
 }
}
</script>

<style>
* {
 margin: 0;
 padding: 0;
}
html, body {
 width: 100%;
 height: 100%;
}
</style>

5.打包前的配置webpack.config.js(很重要!!!)

module.exports = {
 entry: './src/lib/index.js',
 output: {
  path: path.resolve(__dirname, './dist'),
  publicpath: '/dist/',
  // filename: 'build.js',
  filename: 'vue-picture-viewer.js',
  library: 'pictureviewer',
  librarytarget: 'umd',
  umdnameddefine: true
 },

6.打包成功,配置package.json

"license": "mit", // 许可证
 "private": false, // 默认是true 私人的 需要改为false, 不然发布不成功!
 "main": "dist/vue-picture-viewer.js", 这个超级重要 决定了你 import xxx from “vue-picture-viewer” 它默认就会去找 dist下的vue-picture-viewer 文件
 "repository": {
  "type": "git",
  "url": "https://github.com/sangcz/vue-picture-viewer" // github项目地址
 },

7.一切ok准备发布!

8.首先注册好npm后 添加用户

npm adduser 
username: your name 
password: your password 
email: yourmail

// 查看一下登录的是不是你自己
npm whoami

// 发布
npm publish

// 这里我遇到一个问题,发布失败了!

什么原因呢?

基于Vue2x的图片预览插件的示例代码

9.解决了上面的问题,发布成功了!开心????

10.记得写一下readme.md(比如像我的一样,写的越详细越好!)

11.这个插件其实很简单的,主要是要把开发到发布都来了一遍,还是有收获的

最后总结

插件还有一点问题,放大缩小的操作也没有加动画,不兼容移动端,看起来比较生硬!第二版的时候给加上动画兼容一下移动端!!!

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。