Nuxt Leaflet
A Nuxt 3 module to use Leaflet. It was made using Vue Leaflet which is a Vue 3 wrapper for Leaflet, that exposes the original Leaflet API as Vue components.
This module is really just about making it work with Nuxt 3 without the need to configure anything.
Features
- ⚡ No configuration needed
- 🦺 Typescript support
- 🚠 Auto import
Quick Setup
- Add
nuxt3-leaflet
dependency to your project
# Using pnpm
pnpm add -D nuxt3-leaflet
# Using yarn
yarn add --dev nuxt3-leaflet
# Using npm
npm install --save-dev nuxt3-leaflet
- Add
nuxt3-leaflet
to themodules
section ofnuxt.config.ts
export default defineNuxtConfig({
modules: [
'nuxt3-leaflet'
]
})
That's it! You can now use Leaflet in your Nuxt app ✨
Usage
For a complete list of the components available, check out the original Vue Leaflet library.
Please note that components are exported in PascalCase, so for example, write <LMap>
instead of <l-map>
.
Basic
<template>
<div style="height:100vh; width:100vw">
<LMap
ref="map"
:zoom="zoom"
:center="[47.21322, -1.559482]"
>
<LTileLayer
url="https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png"
attribution="&copy; <a href="https://www.openstreetmap.org/">OpenStreetMap</a> contributors"
layer-type="base"
name="OpenStreetMap"
/>
</LMap>
</div>
</template>
<script setup>
import { ref } from 'vue'
const zoom = ref(6)
</script>
<style>
body {
margin: 0;
}
</style>
Development
# Install dependencies
npm install
# Generate type stubs
npm run dev:prepare
# Develop with the playground
npm run dev
# Build the playground
npm run dev:build
# Run ESLint
npm run lint
# Run Vitest
npm run test
npm run test:watch
# Release new version
npm run release