本文介绍了基于Vue2x的图片预览插件的示例代码,分享给大家,具体如下:
先来看下Demo
LiveDemo
关于开发Vue插件的几种方式 (具体请移步官网)Vue官网
rush:js;">
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(你的项目名称)具体操作不在赘述
2.开始插件开发,编写index.js
rush: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)
rush:js;">
import vuePictureViewer from './lib/index.js'
Vue.use(vuePictureViewer)
App.vue
rush:js;">
imgurl" :switch="true" v-if="
imgurl">
5.打包前的配置webpack.config.js(很重要!!!)
rush: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
rush:js;">
"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后 添加用户
rush:bash;">
npm adduser
Username: your name
Password: your password
Email: yourmail
// 查看一下登录的是不是你自己
npm whoami
// 发布
npm publish
// 这里我遇到一个问题,发布失败了!
什么原因呢?
9.解决了上面的问题,发布成功了!开心😊
10.记得写一下README.md(比如像我的一样,写的越详细越好!)
11.这个插件其实很简单的,主要是要把开发到发布都来了一遍,还是有收获的
最后总结
插件还有一点问题,放大缩小的操作也没有加动画,不兼容移动端,看起来比较生硬!第二版的时候给加上动画兼容一下移动端!!!
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。