Vue插件書寫規(guī)范,導(dǎo)出install方法
使用時,可以通過以上主流寫法將自定義插件掛載到Vue上面:
import Vue from 'vue'
import YourPlugin from 'YourPlugin'
Vue.use(YourPlugin)
閉包里exports一個install方法
(function () {
function install (Vue) {
Vue.YourPlugin = function (options) {
}
}
// 這里為了支持CMD,AMD,CommonJs,以及script標簽導(dǎo)入的方式
if (typeof exports == "object") {
module.exports = install
} else if (typeof define == "function" && define.amd) {
define([], function(){ return install })
} else if (window.Vue) {
Vue.use(install)
}
})()
至于為什么要這樣寫,為什么要導(dǎo)出install方法?相信大家肯定有疑問,這里摘錄Vue源碼的use方法,大家就能一目了然
Vue.use = function (plugin) {
/* istanbul ignore if */
if (plugin.installed) {
return
}
// additional parameters
var args = toArray(arguments, 1)
args.unshift(this)
if (typeof plugin.install === 'function') {
plugin.install.apply(plugin, args)
} else {
plugin.apply(null, args)
}
plugin.installed = true
return this
}
當前后續(xù)最好將插件通過npm publish發(fā)布到npm包里面,這樣其他小伙伴就能通過以下方式直接安裝了
npm install YourPlugin