my-plugin-jiny
Version:
A plugin with multiple components using ElementPlus
34 lines (30 loc) • 1.32 kB
JavaScript
import ComponentA from "./components/ComponentA.vue";
import ComponentB from "./components/ComponentB.vue";
import ComponentC from "./components/ComponentC.vue";
import DialogA from "./components/DialogA.vue";
import DialogB from "./components/DialogB.vue";
import blueRightIcon from "./assets/blue-right-icon.png";
import greenRightIcon from "./assets/green-right-icon.png";
import redRightIcon from "./assets/red-right-icon.png";
// 只包含实际的组件,并为每个组件指定默认名称
const components = [
{ component: ComponentA, defaultName: "ComponentA" },
{ component: ComponentB, defaultName: "ComponentB" },
{ component: ComponentC, defaultName: "ComponentC" },
{ component: DialogA, defaultName: "DialogA" },
{ component: DialogB, defaultName: "DialogB" },
];
const install = (app) => {
components.forEach(({ component, defaultName }) => {
const componentName = component.name || component.__name || defaultName;
if (componentName) {
app.component(componentName, component);
} else {
console.warn(`组件注册失败:无法确定组件名称`, component);
}
});
};
// 导出图片资源
export { ComponentA, ComponentB, ComponentC, DialogA, DialogB, blueRightIcon, greenRightIcon, redRightIcon };
// 导出插件
export default install;