플러그인


Directory


플러그인은 일반적으로 Vue에 기능을 추가합니다. 플러그인의 기능 범위에는 엄격한 제한이 없습니다. 일반적으로 다음과 같은 유형이 있습니다:

 1. 전역 메서드 또는 속성을 추가합니다. 예: vue-custom-element

 2. 전역 리소스 추가: 지침/필터/전환 등 vue-touch

 3. 글로벌 믹싱을 통해 일부 구성 요소 옵션을 추가합니다. vue-router

 4와 같은 Vue 인스턴스 메소드를 Vue.prototype에 추가합니다. Vue.prototype 上实现。

 5. 一个库,提供自己的 API,同时提供上面提到的一个或多个功能。如 vue-router


使用插件


通过全局方法 Vue.use() 使用插件。它需要在你调用 new Vue() 启动应用之前完成:

// 调用 `MyPlugin.install(Vue)`
Vue.use(MyPlugin)
new Vue({
  // ...组件选项
})

也可以传入一个可选的选项对象:

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

Vue.use 会自动阻止多次注册相同插件,届时即使多次调用也只会注册一次该插件。

Vue.js 官方提供的一些插件 (例如 vue-router) 在检测到 Vue 是可访问的全局变量时会自动调用 Vue.use()。然而在像 CommonJS 这样的模块环境中,你应该始终显式地调用 Vue.use()

// 用 Browserify 或 webpack 提供的 CommonJS 模块环境时
var Vue = require('vue')
var VueRouter = require('vue-router')

// 不要忘了调用此方法
Vue.use(VueRouter)

awesome-vue 集合了大量由社区贡献的插件和库。


开发插件


Vue.js 的插件应该暴露一个 install 方法。这个方法的第一个参数是 Vue
 5. 자체 API와 위에 언급된 하나 이상의 기능을 제공하는 라이브러리입니다. 예:

vue-router


플러그인 사용🎜


🎜전역 메소드 Vue.use()를 통해 플러그인을 사용하세요. 애플리케이션을 시작하기 위해 new Vue()를 호출하기 전에 이 작업을 수행해야 합니다. 🎜
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) {
    // 逻辑...
  }
}
🎜 선택적 옵션 객체를 전달할 수도 있습니다: 🎜rrreee🎜Vue.use 동일한 플러그인의 다중 등록을 자동으로 방지합니다. 이 경우 플러그인은 여러 번 호출되어도 한 번만 등록됩니다. 🎜🎜Vue.js에서 공식적으로 제공하는 일부 플러그인(예: vue-router)은 Vue가 액세스 가능한 전역 변수임을 감지하면 자동으로 Vue.use()를 호출합니다. . 그러나 CommonJS와 같은 모듈 환경에서는 항상 Vue.use()를 명시적으로 호출해야 합니다. 🎜rrreee🎜awesome-vue🎜는 커뮤니티에서 제공하는 플러그인 및 라이브러리 모음입니다. 🎜🎜🎜🎜

플러그인 개발🎜


🎜Vue. Node.js 플러그인은 install 메소드를 노출해야 합니다. 이 메소드의 첫 번째 매개변수는 Vue 생성자이고, 두 번째 매개변수는 선택적 옵션 객체입니다: 🎜🎜rrreee🎜🎜🎜🎜 🎜