--- title: Component Overrides icon: carbon:cics-sit-overrides createTime: 2025/10/08 16:20:15 permalink: /en/guide/component-overrides/ --- ## Overview Layout slots are quite practical, but sometimes you might find them not flexible enough. The theme also provides the capability to override individual components. ::: warning Before using this feature, you should first familiarize yourself with this theme's source code and understand the various built-in components to safely override them. The theme's component source code is hosted on [GitHub](https://github.com/pengzhanbo/vuepress-theme-plume/tree/main/theme/src/client/components) under the MIT license. ::: ## Usage The theme registers all non-global components with an [alias](https://v2.vuepress.vuejs.org/zh/reference/plugin-api.html#alias) prefixed with `@theme`. For example, the alias for `VPFooter.vue` is `@theme/VPFooter.vue`. If you want to override the `VPFooter.vue` component, you simply need to override this alias in the configuration file `.vuepress/config.ts`: ```ts title=".vuepress/config.ts" import { defineUserConfig } from 'vuepress' import { plumeTheme } from 'vuepress-theme-plume' import { getDirname, path } from 'vuepress/utils' const __dirname = getDirname(import.meta.url) export default defineUserConfig({ theme: plumeTheme(), alias: { '@theme/VPFooter.vue': path.resolve( __dirname, './components/MyFooter.vue', ), }, }) ```