Sometimes a new addition to your application is needed, and this addition needs to be shared. The best way to share it is by using a plugin. In Vue, a plugin is an addition to the Vue global prototype by extending the initialized application with new features such as directives, mixings, filters, prototype injection, or totally new functions.
Now we will learn how to make our plugin, and how we can use it to interact with Vue as a whole (without messing with the prototype and breaking it).