经验分享
封装一个Vue3的插件,并给插件传一个配置项
首先有这么一个 /package 目录在 /package 目录中存放插件代码,可以是你的 组件库,也可以使你的 工具代码在 /package 目录下新建一个 index.ts 文件 // pack
2023-08-01 12:11:29
21
  1. 首先有这么一个 /package 目录
  2. /package 目录中存放插件代码,可以是你的 组件库,也可以使你的 工具代码
  3. /package 目录下新建一个 index.ts 文件
// package/index.ts
// 引入依赖的文件
import 'ant-design-vue/dist/antd.css';
// 引入插件组件
import { Components } from "./utils/Prototype";

// 入口函数
export const Webxue = (config:any) => {
  return {
    install:(app:any) => {
      // 批量组件注册
      for(let i = 0; i < Components.length; i++){
        app.use(Components[i]);
      }

      app.provide("Wbx_Config",config)
    }
  }
}
  1. main.ts 中引入插件,并传参
// main.js
import { createApp } from 'vue'
import App from './App.vue'

const app = createApp(App);

import { Webxue} from "xxx/package/index";
app.use(Webxue({ 
  a:1
}));

app.mount('#app')
  1. 最后在页面通过 inject 就能拿到配置项,并且在插件内部的组件也可以拿到
import { inject } from "vue";

const WbxConfig= inject("Wbx_Config");
console.log(WbxConfig)