Установка на Vue 3 / Nuxt 3 / Astro
Установите пакет
Внимание
Минимальная версия Vue
- 3.3, а при использовании TS vue-tsc
должен быть 1.5 и выше.
Рекомендуется использовать последние версии обеих вышеупомянутых зависимостей.
shell
npm install vue-yandex-maps
shell
yarn add vue-yandex-maps
shell
pnpm install vue-yandex-maps
Решение проблем с TypeScript
После установки, если у вас стоит старая версия Vue, может не работать автокомплит пропсов.
Для исправления:
- Обновите версию Vue
- Обновите версию
vue-tsc
- Обновите локфайл/зависимости (удалите node_modules, lock-файл, и сделайте install)
Подключение
Совет
Параллельно с apiKey на примерах ниже, в тех же объектах доступны все параметры из раздела Конфигурация.
Vue 3
В основном файле (например, main.ts) подключите Карты:
typescript
import { createApp } from 'vue';
import { createYmaps } from 'vue-yandex-maps';
import App from './App.vue';
const app = createApp(App);
app.use(createYmaps({
apikey: 'your-api-key',
}));
app.mount('#app');
Настройка для TypeScript
Для более удобной работы с Картами вы также можете добавить пакет Карт в typeRoots вашего tsconfig.json
.
json
{
"compilerOptions": {
"typeRoots": [
"./node_modules/@types",
"./node_modules/@yandex/ymaps3-types"
]
}
}
В Nuxt 3 это добавляется автоматически.
Astro
- Укажите
appEntrypoint
в Astro Configtypescriptimport { defineConfig } from 'astro/config'; import vue from '@astrojs/vue'; //... // https://astro.build/config export default defineConfig({ integrations: [vue({ appEntrypoint: '/src/init' })], //... });
- В вашем файлике (в нашем случае:
src/init.ts
) подключите пакет по аналогии с указанным выше:typescriptimport type { App } from 'vue'; import { createYmaps } from 'vue-yandex-maps'; export default (app: App) => { app.use(createYmaps({ apikey: 'your-api-key', })); };
- Опционально, выполните конфигурацию TS аналогично указанному выше
Nuxt 3
В Nuxt Config
в modules
добавьте нужный пакет, после чего произведите его конфигурацию по ключу yandexMaps
.
typescript
export default defineNuxtConfig({
modules: ['vue-yandex-maps/nuxt'],
yandexMaps: {
apikey: 'your-api-key',
},
});