65
Vue 3 學習之旅
進階功能

Day 65: 插件 (Plugins) 的開發與使用

·6 分鐘閱讀·進階功能

摘要

插件 (Plugin) 是一種將全域級別的功能添加到 Vue 應用程式中的標準方式,例如註冊全域元件、指令或提供全域方法。

定義與說明

一個插件可以是一個物件,該物件必須提供一個 install 方法;或者它也可以是一個函式,這個函式本身被視為 install 方法。install 方法會接收到 app 應用程式實例作為第一個參數,讓我們可以在其上進行操作。

實作範例

Vue SFC
// 建立一個簡單的翻譯插件。
// plugins/i18n.js
export default {
  install: (app, options) => {
    // 提供一個全域方法 $translate
    app.config.globalProperties.$translate = (key) => {
      return key.split('.').reduce((o, i) => o[i], options);
    }
  }
}

// main.js
import i18nPlugin from './plugins/i18n.js';
const app = createApp(App);
app.use(i18nPlugin, { greetings: { hello: '你好!' } });

結論

插件是封裝和分發可複用 Vue 功能(如 Vue Router, Pinia)的標準機制。它讓我們的程式碼庫保持整潔,並易於與社群共享。

插件 install 全域功能