This repository was archived by the owner on Jun 1, 2023. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 1.9k
[@nuxt/components] ディレクトリ整理がらみ #6262
Copy link
Copy link
Open
Labels
improvement改善や新機能の要望改善や新機能の要望
Description
改善詳細 / Details of Improvement
- こちら、あるいは component のディレクトリ構成を変更する #5404 あたりにある、コンポーネント・ディレクトリの構造化に向けた議論の助けになるかもしれない
@nuxt/componentsについての気づきです。メモがてらに書いてみました - なお、上記イシューや PR では、インポートの完全自動化を目指す
@nuxt/componentsのメリットを尊重しつつも、我々が書くコードの視認性や可読性の向上のために明示的にimport句を書く必要があるという点にも言及されています。原則、私もその方針に賛成です - とはいえ、こと選択と集中という意味では、おおよそ完全に共通なものは
@nuxt/componentsのような仕組みで隠匿化するのもアリと、個人的には考えています
スクリーンショット / Screenshot
スクショではないですけれども、今、 @nuxt/components を使い下記のような実験をしています。
- チャート系で特にリファレンスされやすい vue ファイルや(
components/AppLink.vueなどを想定)、複数個所での実装が認められるScaleLoader (vue-spinner)のインポートを、 一か所にまとめる。まとめ先はnuxt.config.tsを想定 nuxt.config.tsへの集中が叶わないときは、特にチャート系は装飾的アピアランスの役に立つコンポーネントの定義場所としてlayouts/default.vueの使用を検討する- それでもなお、様々な制約条件のために
layouts/default.vueの使用が叶わないときは、せめて一階層上にあるアプリでのコンポーネント定義を試みる(comonents/ScrollableChart.vueなどを想定)
期待する見せ方・挙動 / Expected behavior
- 残念ながら、以下で私がポストしたようなエラーを報告する羽目になっている現状です
components w/ Array definition nuxt/components#195 - ロジックを直すか、あるいはもしかしたら
eslintの特殊ルール(?)で逃げられないか、考え中です - 既に
@nuxt/componentsはnuxt本体(?)にもオーソライズされている 立場でありながら、vue本体とルールが矛盾するときの解決策が示されていないとしたら、個人的には承服できません - ご参考 https://nuxtjs.org/blog/improve-your-developer-experience-with-nuxt-components/
動作環境・ブラウザ / Environment
- macOS / Windows / Linux / iOS / Android
- Chrome / Safari / Firefox / Edge / Internet Explorer
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
improvement改善や新機能の要望改善や新機能の要望