使用Vue2x怎么實(shí)現(xiàn)一個(gè)圖片預(yù)覽插件?針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
創(chuàng)新互聯(lián)建站總部坐落于成都市區(qū),致力網(wǎng)站建設(shè)服務(wù)有網(wǎng)站制作、做網(wǎng)站、網(wǎng)絡(luò)營(yíng)銷策劃、網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站維護(hù)、公眾號(hào)搭建、小程序定制開(kāi)發(fā)、軟件開(kāi)發(fā)等為企業(yè)提供一整套的信息化建設(shè)解決方案。創(chuàng)造真正意義上的網(wǎng)站建設(shè),為互聯(lián)網(wǎng)品牌在互動(dòng)行銷領(lǐng)域創(chuàng)造價(jià)值而不懈努力!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)編寫這個(gè)插件
1.第一步創(chuàng)建項(xiàng)目
vue init webpack-simple youProjectName(你的項(xiàng)目名稱)具體操作不在贅述
2.開(kāi)始插件開(kāi)發(fā),編寫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也挺簡(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(很重要?。。。?/p>
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ā)布失敗了!
什么原因呢?
關(guān)于使用Vue2x怎么實(shí)現(xiàn)一個(gè)圖片預(yù)覽插件問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注創(chuàng)新互聯(lián)成都網(wǎng)站設(shè)計(jì)公司行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。
當(dāng)前題目:使用Vue2x怎么實(shí)現(xiàn)一個(gè)圖片預(yù)覽插件-創(chuàng)新互聯(lián)
轉(zhuǎn)載注明:http://bm7419.com/article46/ipshg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站設(shè)計(jì)公司、建站公司、定制開(kāi)發(fā)、關(guān)鍵詞優(yōu)化、App開(kāi)發(fā)、定制網(wǎng)站
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容