Vue.js (Vaak aangeduid als Vue; uitgesproken als het Engelse "view"[3]) is een opensource model-view-viewmodel frontend JavaScript-framework voor het bouwen van gebruikersinterfaces en single-page applications.[4] Het is gemaakt door Evan You en wordt onderhouden door hem en de rest van de actieve kernteamleden. De broncode van Vue valt onder de MIT-licentie.[5]
Vue.js heeft een incrementeel aanpasbare architectuur die zich richt op declaratieve weergave en componentsamenstelling. De kernbibliotheek is alleen gericht op de weergave van inhoud. Geavanceerde functies die nodig zijn voor complexe toepassingen zoals routering, statusbeheer en buildtooling worden aangeboden via officieel onderhouden ondersteunende bibliotheken en pakketten zoals Vite.js.[6]
Met Vue.js kan HTML worden uitgebreid met eigen HTML-attributen die directives worden genoemd. De directives bieden functionaliteit voor HTML-toepassingen en worden geleverd als ingebouwde of door de gebruiker gedefinieerde directives. Door een hiërarchische implemenatie van deze eigen attributen die uit andere eigen en uiteindelijk uit bestaande attributen zijn opgebouwd wordt het eenvoudig en overzichtelijk om complexe webpagina's met herhalende elementen op te bouwen.
Vue is gemaakt door Evan You nadat hij voor Google met AngularJS had gewerkt in verschillende projecten. Hij zei hierover: "Ik dacht, wat als ik alleen het gedeelte eruit haal dat me bevalt binnen Angular, en op basis hiervan een uitgeklede toepassing bouw." De eerste broncode die aan het project is vastgelegd dateert van juli 2013 en een eerste versie van Vue werd uitgebracht in februari 2014. Versienamen van releases zijn vaak afgeleid van manga en anime, waarvan de meeste binnen het sciencefictiongenre vallen.