エラー
コンポーネントを作成していたら、急にこんなエラーが。
[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 というプレフィックスで始めるべきです。