- 创建插件文件:例如 myPlugin.js
- 编写插件:插件应该导出一个对象,这个对象可以包含一个 install 方法。Vue 会调用这个 install 方法来安装插件。在这个方法中,你可以添加全局资源。
export default {
install(app, options) {
app.component('MyComponent', {
template: '<div>这是一个全局组件</div>'
});
app.directive('my-directive', {
mounted(el, binding, vnode, prevVnode) {
el.style.color = binding.value;
}
});
app.mixin({
created() {
console.log('全局混入的 created 钩子被调用');
}
});
app.config.globalProperties.$myProperty = '这是一个全局属性';
console.log(options.myOption);
app.provide('i18n', options)
}
};
- 使用插件:在你的 Vue 应用中,通常在 main.js 或 main.ts 文件中,你需要导入这个插件并使用 app.use() 来安装它。
import { createApp } from 'vue';
import App from './App.vue';
import myPlugin from './myPlugin';
const app = createApp(App);
app.use(myPlugin, {
myOption: '这是插件的配置项'
});
app.mount('#app');
- 使用插件提供的功能:一旦插件被安装,你就可以在你的组件中使用它提供的功能了。
<template>
<div>
<MyComponent />
<span v-my-directive="color">这个是个文本</span>
</div>
</template>
<script>
export default {
data() {
return {
color: 'red'
};
},
created() {
console.log(this.$myProperty);
}
};
</script>