vue-weather-widget

Weather forecast widget for Vuejs using DarkSky api
3,701 36
Install
npm install vue-weather-widget
Latest Version:4.4.3
Vue:2
License:Apache-2.0
Last Updated:Jul 29, 2026
Links: GitHub  ·  npm
Maintainer: dipu-bd

Vue Weather Widget

vue 2x npm npm download per month Libraries.io dependency status for latest release NPM license Build

Weather widget inspired by forecast embeds and powered by OpenWeatherMap and DarkSky API.

Demo

Browser preview

Preview

Install

NPM

npm i vue-weather-widget

YARN

yarn add vue-weather-widget

API Keys

This component works with both the DarkSky API, and the OpenWeatherMap API. Since it is no longer possible to create a DarkSky API key, it is recommended to use OpenWeatherMap.

Generate new API key from https://openweathermap.org/appid

Usage

<template>
  <!-- Open Weather Map -->
  <vue-weather
    api-key="<your-open-weather-map-api-key>"
    units="uk"
    latitude="24.8864"
    longitude="91.8807"
  />

  <!-- Dark Sky API -->
  <vue-weather
    use-dark-sky-api
    api-key="<your-dark-sky-api-key>"
    units="uk"
    latitude="24.8864"
    longitude="91.8807"
  />
</template>

<script>
  import VueWeather from "vue-weather-widget";

  export default {
    components: {
      VueWeather,
    },
  };
</script>

Props

Props Type Default Description
api-key String (required) - Your OpenWeatherMap or Dark Sky API key
use-dark-sky-api Boolean false Use DarkSky API instead of OpenWeatherMap
latitude String current The latitude of a location (By default, it will use IP to find location)
longitude String current The longitude of a location (By default, it will use IP to find location)
language String "en" A list of supported languages are given below.
units String "us" A list of supported units are given below.
hide-header Boolean false Whether to show or hide the title bar.
update-interval Number null Interval in milliseconds to update weather data periodically. Set it to 0 or null to disable autoupdate.
disable-animation Boolean false Use static icons when enabled.
bar-color String "#444" Color of the Temparature bar.
text-color String "#333" Color of the text.
ipregistry-key String "f8n4kqe8pv4kii" Your ipregistry key to get current location from IP address
| |

Slots

Name Description
header The header component
title The title inside the header
loading Component to display while loading
error Component to display on error

Supported units

List of supported units:

  • auto: automatically select units based on geographic location
  • ca: same as si, except that windSpeed and windGust are in kilometers per hour
  • uk: same as si, except that nearestStormDistance and visibility are in miles, and windSpeed and windGust are in miles per hour
  • us: Imperial units (the default)
  • si: SI units

Supported languages

  • ar: Arabic
  • az: Azerbaijani
  • be: Belarusian
  • bg: Bulgarian
  • bs: Bosnian
  • ca: Catalan
  • cs: Czech
  • de: German
  • el: Greek
  • en: English (which is the default)
  • es: Spanish
  • et: Estonian
  • fr: French
  • hr: Croatian
  • hu: Hungarian
  • id: Indonesian
  • it: Italian
  • is: Icelandic
  • ka: Georgian
  • kw: Cornish
  • nb: Norwegian Bokmål
  • nl: Dutch
  • pl: Polish
  • pt: Portuguese
  • ru: Russian
  • sk: Slovak
  • sl: Slovenian
  • sr: Serbian
  • sv: Swedish
  • tet: Tetum
  • tr: Turkish
  • uk: Ukrainian
  • x-pig-latin: Igpay Atinlay
  • zh: simplified Chinese
  • zh-tw: traditional Chinese

Related Packages

@xunlei/vue-lazy-component

Vue.js 2.0 组件级懒加载方案 Vue.js 2.x component level lazy loading solution

14,137 1,003
@xunlei/vue-context-menu

Vue 2.0 右键菜单组件,菜单内容可以随意自定义

7,700 335
vue-timepicker

timepicker, vue-component, vue-plugin

3,528 10
vue-fixed-header

Simple and cross-browser friendly fixed header component for Vue.js.

111,486 167

Version History

Version Released Vue License
4.4.3 ^2.7.16 Apache-2.0
4.4.0 ^2.7.16 Apache-2.0
4.3.1 ^2.6.14 Apache-2.0
4.3.0 ^2.6.14 Apache-2.0
4.2.4 ^2.6.11 Apache-2.0