插件

编写插件

插件通常为 Vue 添加全局级别的功能。插件没有严格定义的范围 - 通常可以编写几种类型的插件

  1. 添加一些全局方法或属性。例如:vue-element

  2. 添加一个或多个全局资产:指令/过滤器/过渡等。例如:vue-touch

  3. 通过将它们附加到 Vue.prototype 添加一些 Vue 实例方法。

  4. 一个提供自身 API 的库,同时注入上述功能的组合。例如:vue-router

Vue.js 插件应该公开一个 install 方法。该方法将使用 Vue 构造函数作为第一个参数调用,以及可能的选项

MyPlugin.install = function (Vue, options) {
// 1. add global method or property
Vue.myGlobalMethod = ...
// 2. add a global asset
Vue.directive('my-directive', {})
// 3. add an instance method
Vue.prototype.$myMethod = ...
}

使用插件

通过调用 Vue.use() 全局方法使用插件

// calls `MyPlugin.install(Vue)`
Vue.use(MyPlugin)

您可以选择传入一些选项

Vue.use(MyPlugin, { someOption: true })

一些插件,如 vue-router,如果 Vue 作为全局变量可用,则会自动调用 Vue.use()。但是,在模块环境中,您始终需要显式调用 Vue.use()

// When using CommonJS via Browserify or Webpack
var Vue = require('vue')
var VueRouter = require('vue-router')
// Don't forget to call this
Vue.use(VueRouter)

现有插件和工具