- 首先有这么一个
/package
目录 - 在
/package
目录中存放插件代码,可以是你的 组件库
,也可以使你的 工具代码
- 在
/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)
}
}
}
- 在
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')
- 最后在页面通过
inject
就能拿到配置项,并且在插件内部的组件也可以拿到
import { inject } from "vue";
const WbxConfig= inject("Wbx_Config");
console.log(WbxConfig)