自分用 Vuejsルールを書いてみた
趣味プロダクトでVuejsを触ろうと思ったが、フロント開発なんてしたことない。
命名規則が結構大事そうだったから、自分用にルールをまとめておくことにした。
自分用 Vuejsルール
単一ファイルコンポーネント
- ファイル名はパスカル
oMyComponent.vue
xmycomponent.vue
,myComponent.vue
基底コンポーネント
- 頻繁に使われる基底コンポーネントのファイル名は、
Base
で始める
oBaseIcon.vue
xMyIcon.vue
,Icon.vue
シングルインスタンスコンポーネント
- ページごとに1回しか使われないコンポーネントは、
The
で始める
oTheHeading.vue
,TheSideBar.vue
xHeading.vue
,SideBar.vue
コンポーネント名
- 複数単語
otodo-item
xtodo
テンプレート内コンポーネント名
JS内コンポーネント名
- パスカル
oMyComponent
xmycomponent
,myComponent
propsプロパティ名
- 定義時はキャメル
ogreetingText
xgreeting-text
- HTML(テンプレート)やJSXで使う時はケバブ
ogreeting-text
xgreetingText
ディレクティブ短縮記法
- 短縮記法を使用
o:value
,@input
xv-bind:value
,v-on:input
その他
props
プロパティはできるだけ詳細に定義する- データ型は絶対
data
プロパティはオブジェクトではなくオブジェクトを返却する関数にする- 1画面で複数回呼び出される場合に同一オブジェクトを参照することになる
v-for
ではkey
を付与する- 内部的にDOM切替の際に該当
key
のみに反映させてくれる(パフォーマンス向上)
- 内部的にDOM切替の際に該当
- コンポーネント親子間やりとりでは
$parent
と$children
を使用しない - 状態管理は
Vuex
を使用する