エラー
コンポーネントを作成していたら、急にこんなエラーが。
[Vue warn]: Do not use built-in or reserved HTML elements as component id: main
簡単に訳してみると、
「main」はHTML要素で使われるので、コンポーネントとして使用できません
となっています。
原因
原因と言っても、書いている通りなのですが、
HTMLでタグ名として使われている命名はコンポーネント名として使うことができません。
main同様にheader,input,footerみたいなものも使うことができないです。
解決方法
全く関係ない命名に変えることでも可能ですが、
どうしても使いたい場合は、コンポーネント名をTheMainとかにするとエラーは出なくなりました。
そもそもなのですが、コンポーネントの規約として、
ページごとに一つしか使われないコンポーネントは、プレフィックスにTheをつけること
というルールがあるようです。
公式より↓
常に 1 つのアクティブなインスタンスしか持たないコンポーネントは、1 つしか存在しえないことを示すために The というプレフィックスで始めるべきです。