# Runtime API {#runtime-api}
VitePress предлагает несколько встроенных API, позволяющих получить доступ к данным приложения. VitePress также поставляется с несколькими встроенными компонентами, которые можно использовать глобально.
Вспомогательные методы глобально импортируются из `vitepress` и обычно используются в компонентах Vue для пользовательских тем. Однако их можно использовать и внутри страниц `.md`, так как файлы markdown компилируются в [однофайловые компоненты](https://ru.vuejs.org/guide/scaling-up/sfc.html) Vue.
Методы, начинающиеся с `use*`, указывают на то, что это функция [Vue 3 Composition API](https://ru.vuejs.org/guide/introduction.html#composition-api) («композабл»), которая может быть использована только внутри `setup()` или `
{{ theme.footer.copyright }}
```
## `useRoute` {#useroute}
Возвращает текущий объект маршрута со следующим типом:
```ts
interface Route {
path: string
data: PageData
component: Component | null
}
```
## `useRouter` {#userouter}
Возвращает экземпляр маршрутизатора VitePress, чтобы вы могли программно перейти на другую страницу.
```ts
interface Router {
/**
* Текущий маршрут.
*/
route: Route
/**
* Переход к новому URL-адресу.
*/
go: (to?: string) => Promise
/**
* Вызывается перед изменением маршрута. Верните `false`, чтобы отменить навигацию.
*/
onBeforeRouteChange?: (to: string) => Awaitable
/**
* Вызывается перед загрузкой компонента страницы (после того, как состояние истории
* обновлено). Верните `false`, чтобы отменить навигацию.
*/
onBeforePageLoad?: (to: string) => Awaitable
/**
* Вызывается после изменения маршрута.
*/
onAfterRouteChanged?: (to: string) => Awaitable
}
```
## `withBase` {#withbase}
- **Тип**: `(path: string) => string`
Добавляет настроенный [`base`](./site-config#base) к заданному URL-пути. Также смотрите секцию [Базовый URL](../guide/asset-handling#base-url).
## `` {#content}
Компонент `` отображает отрисованное содержимое Markdown. Полезно [при создании собственной темы](../guide/custom-theme).
```vue
Пользовательский макет!
```
## `` {#clientonly}
Компонент `` отображает свой слот только на стороне клиента.
Поскольку приложения VitePress при генерации статических сборок рендерятся в Node.js, любое использование Vue должно соответствовать универсальным требованиям к коду. Короче говоря, убедитесь, что доступ к API Browser / DOM осуществляется только в хуках `beforeMount` или `mounted`.
Если вы используете или демонстрируете компоненты, которые не являются SSR-дружественными (например, содержат пользовательские директивы), вы можете обернуть их внутри компонента `ClientOnly`.
```vue-html
```
- См. также: [Совместимость с SSR](../guide/ssr-compat)
## `$frontmatter` {#frontmatter}
Прямой доступ к [метаданным](../guide/frontmatter) текущей страницы в выражениях Vue.
```md
---
title: Привет
---
# {{ $frontmatter.title }}
```
## `$params` {#params}
Прямой доступ к параметрам [динамических маршрутов](../guide/routing#dynamic-routes) текущей страницы в выражениях Vue.
```md
- имя пакета: {{ $params.pkg }}
- версия: {{ $params.version }}
```