Seems like really poor style to name a component Main, as when you do that you can't include it in a template as main is a keyword. the Vue CLI uses Home.vue instead and wraps everything in App.vue to reduce the need to subroute everything.
Also
Note that Vue does not enforce the W3C rules for custom tag names (all-lowercase, must contain a hyphen) though following this convention is considered good practice.
https://vuejs.org/v2/guide/components.html
Seems like really poor style to name a component Main, as when you do that you can't include it in a template as main is a keyword. the Vue CLI uses Home.vue instead and wraps everything in App.vue to reduce the need to subroute everything.
Also