質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

Q&A

解決済

1回答

2806閲覧

Vue コンポーネントのグローバル登録とローカル登録

mochi.monaka

総合スコア26

Vue.js

Vue.jsは、Webアプリケーションのインターフェースを構築するためのオープンソースJavaScriptフレームワークです。

1グッド

0クリップ

投稿2018/09/18 11:14

正解があるのでなく方針の話かもしれませんが、、

コンポーネントの登録には、 Vue.component() でグローバルに登録するのと、 components: {} でローカルに都度登録する方法があります。
使用毎にローカル登録しているサンプルも見たりしますが、 特定の 1 箇所でしか使わないコンポーネントはともかく、数箇所で使うことがわかっているコンポーネントでもローカル登録したほうが良いのでしょうか。
ボタンコンポーネントのように明らかに頻繁に使うならグローバルでよいとは思いますが。

コンポーネントの登録

多くの場合、グローバル登録は理想的ではありません。例えば Webpack のようなビルドシステムを利用しているときに、グローバルに登録した全てのコンポーネントは、たとえ使用しなくなっても、依然として最終ビルドに含まれてしまうことでしょう。これは、ユーザがダウンロードしなくてはならない JavaScript のファイルサイズを不要に増加させてしまいます。

この説明によると、使用しなくなったコンポーネントを自分で確実に取り除けていれば問題なさそうです。
管理に少し気を遣いますが、頻繁にあることでもなく、使用の度にいちいちローカル登録する手間よりは楽だと思います。

「多くの場合」と書いてありますが、他にグローバル登録が理想的でない理由はどんなものが考えられるでしょうか。
皆さんはどのように使い分けているでしょうか?

HK2030👍を押しています

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

私はグローバル登録は一切やりません。

使用しなくなったコンポーネントを自分で確実に取り除けていれば

これが確実に自分でできる規模のアプリケーションなら別にどっちでもいいと思います。
個人開発レベルでそこまで気を使わなくても、まあ自分で管理できるでしょってのもわかります。

が、チーム開発だと往々にして消し忘れられて残るので、そういう管理は自分たちでやらないに越したことはないです。
数十、数百の画面ともなると、そんな管理やってられないです。

という背景もあって、私は個人でも普段からグローバル登録しません。
そういうものだと思って慣れちゃえば別にどうってことないですよ。

投稿2018/09/18 12:57

spookybird

総合スコア1803

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

mochi.monaka

2018/09/18 13:13 編集

ありがとうございます。 なるほどチーム体制と考えると、「自分自身で管理できていれば」と言うのは、あまり意味がないですね。 グローバル登録だとメモリ使用がとかあるのかな?とか、そういう面ばかり考えていましたが、 確かに一人体制ばかりで、ご指摘の場面は想像していませんでした。 グローバル登録を一切しないスタイルの方もおられるのですね。そのほうが多いのかもしれませんが。。 検索して見聞きできるようなトピックでないので、そういう一言をお聞きできるだけでとても参考になります。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問