基于Vue2x的圖片預(yù)覽插件的示例代碼
本文介紹了基于Vue2x的圖片預(yù)覽插件的示例代碼,分享給大家,具體如下:
先來(lái)看下Demo
關(guān)于開(kāi)發(fā)Vue插件的幾種方式 (具體請(qǐng)移步官網(wǎng))Vue官網(wǎng)
MyPlugin.install = function (Vue, options) { // 1. 添加全局方法或?qū)傩? Vue.myGlobalMethod = function () { // 邏輯... } // 2. 添加全局資源 Vue.directive('my-directive', { bind (el, binding, vnode, oldVnode) { // 邏輯... } ... }) // 3. 注入組件 Vue.mixin({ created: function () { // 邏輯... } ... }) // 4. 添加實(shí)例方法 Vue.prototype.$myMethod = function (methodOptions) { // 邏輯... } }
我采用第一種方式來(lái)編寫(xiě)這個(gè)插件
1.第一步創(chuàng)建項(xiàng)目
vue init webpack-simple youProjectName(你的項(xiàng)目名稱)具體操作不在贅述
2.開(kāi)始插件開(kāi)發(fā),編寫(xiě)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.編寫(xiě)vue-picture-viewer.vue也挺簡(jiǎn)單(具體可以去看源碼)
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(很重要?。。。?br />
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, // 默認(rèn)是true 私人的 需要改為false, 不然發(fā)布不成功! "main": "dist/vue-picture-viewer.js", 這個(gè)超級(jí)重要 決定了你 import xxx from “vue-picture-viewer” 它默認(rèn)就會(huì)去找 dist下的vue-picture-viewer 文件 "repository": { "type": "git", "url": "https://github.com/sangcz/vue-picture-viewer" // github項(xiàng)目地址 },
7.一切Ok準(zhǔn)備發(fā)布!
8.首先注冊(cè)好npm后 添加用戶
npm adduser Username: your name Password: your password Email: yourmail // 查看一下登錄的是不是你自己 npm whoami // 發(fā)布 npm publish // 這里我遇到一個(gè)問(wèn)題,發(fā)布失敗了!
什么原因呢?
9.解決了上面的問(wèn)題,發(fā)布成功了!開(kāi)心😊
10.記得寫(xiě)一下README.md(比如像我的一樣,寫(xiě)的越詳細(xì)越好!)
11.這個(gè)插件其實(shí)很簡(jiǎn)單的,主要是要把開(kāi)發(fā)到發(fā)布都來(lái)了一遍,還是有收獲的
最后總結(jié)
插件還有一點(diǎn)問(wèn)題,放大縮小的操作也沒(méi)有加動(dòng)畫(huà),不兼容移動(dòng)端,看起來(lái)比較生硬!第二版的時(shí)候給加上動(dòng)畫(huà)兼容一下移動(dòng)端?。。?br />
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
vue使用this.$message不生效的部分原因及解決方案
這篇文章主要介紹了vue使用this.$message不生效的部分原因及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09vue頭部導(dǎo)航動(dòng)態(tài)點(diǎn)擊處理方法
這篇文章主要介紹了vue頭部導(dǎo)航動(dòng)態(tài)點(diǎn)擊處理方法,文中通過(guò)一段示例代碼給大家介紹了vue實(shí)現(xiàn)動(dòng)態(tài)頭部的方法,需要的朋友可以參考下2018-11-11vue-star評(píng)星組件開(kāi)發(fā)實(shí)例
下面小編就為大家分享一篇vue-star評(píng)星組件開(kāi)發(fā)實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-03-03vue生命周期四個(gè)階段created和mount詳解
這篇文章主要介紹了vue生命周期四個(gè)階段created和mount,本文給大家介紹的非常詳細(xì),補(bǔ)充介紹了什么是實(shí)例,什么是實(shí)例被掛載到DOM,什么是dom,dao操作又是什么,感興趣的朋友跟隨小編一起看看吧2024-02-02vue中插件和組件的區(qū)別點(diǎn)及用法總結(jié)
在本篇文章里小編給大家分享的是一篇關(guān)于vue中插件和組件的區(qū)別點(diǎn)及用法總結(jié)內(nèi)容,有興趣的的朋友們可以學(xué)習(xí)下。2021-12-12vue實(shí)現(xiàn)商城秒殺倒計(jì)時(shí)功能
這篇文章主要介紹了vue實(shí)現(xiàn)商城秒殺倒計(jì)時(shí)功能,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2019-12-12vue-seamless-scroll無(wú)縫滾動(dòng)組件使用方法詳解
這篇文章主要為大家詳細(xì)介紹了vue-seamless-scroll無(wú)縫滾動(dòng)組件的使用方法,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-04-04vue單向數(shù)據(jù)綁定和雙向數(shù)據(jù)綁定方式
這篇文章主要介紹了vue單向數(shù)據(jù)綁定和雙向數(shù)據(jù)綁定方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-07-07vue項(xiàng)目之?dāng)?shù)量占比進(jìn)度條實(shí)現(xiàn)方式
這篇文章主要介紹了vue項(xiàng)目之?dāng)?shù)量占比進(jìn)度條實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12