Next.js(React)のCSSはキャメルケース?ケバブケース?(ファイル名の命名規則)

覚書です。NextjsはNuxt.jsとほぼ同じですかね。

目次

Next.js(React)ファイル名の命名規則

Next.js の公式ドキュメントやチュートリアルでは、ページコンポーネントのファイル名にはケバブケース(例:about-us.tsx)を使用することが推奨されています。しかし、それ以外のファイルやディレクトリ(例:ヘルパー関数、ライブラリ、コンポーネントなど)に関しては、Next.js は特定の命名規則を強制していません。

ただ、次のパターンが多いかもしれません。

  • コンポーネント: パスカルケース(例:UserProfile.tsx
  • hooks:キャメルケース
  • それ以外:ケバブケース

ヘルパー関数、ライブラリ、ユーティリティはキャメルケースやケバブケースを使用らしいけど、なるべくケバブケースを使いたい派。そのためfirebaseClient.ts ではなく firebase-client.ts。ページコンポーネントはもともとNext.jsケバブケース。

Next.js(React)のCSSはケバブケースorキャメルケース

少し悩むこともあります。

GPT4君が

  • htmlのClassNameをキャメルケースで書きます。
  • CSSをケバブケースで書きます。
  • そして自動変換されると主張します。

しかし、CSSが適用されません!どこも間違えていないんだって!両方ともケバブケース、もしくはキャメルケースにするとあっさりと効きます(´・ω・`)

この問題は英語でぐぐったところ、CSS Modulesにそのようなオプションがないようです。

Next.js doesn’t provide an easy, built-in way to customise CSS Modules options yet

https://stackoverflow.com/questions/74038400/convert-css-module-kebab-case-class-names-to-camelcase-in-next-js

next.config.jsにコンバーターを書く方法もありますが、アップデート時に壊れる可能性があります。

NextJS configs, this may break with any updates.

https://github.com/vercel/next.js/discussions/11267

キャメルケースで統一するか、ブラケット記法でケバブケースで統一するかです。

CSS ModulesをReactプロジェクトで使用する場合、キャメルケースとケバブケースの変換はWebpackの設定や特定のローダー(例えば、css-loader)のオプション設定によって行われるようですが、デフォルトのNext.jsセットアップではcss-loaderの設定を直接カスタマイズする機能は提供されていないようです。

…GPT4君に依存しすぎない方がよいでしょう。

スポンサーリンク

Nuxt.js(Vue)ファイル名の命名規則

  1. コンポーネント: パスカルケースを使用します。TheHeader.vue, UserProfile.vue
  2. ページ: ケバブケースを使用します。これは、ページのファイル名がそのままルーティングのパスになるためです。about-us.vue, user-profile.vue
  3. プラグイン、ミドルウェア、ストア: ケバブケースまたはキャメルケースを使用します。axios-setup.js, userAuth.js

Webはコンポーネント以外は、なるべくケバブケースにしたいですかね。覚えやすいので。

スポンサーリンク

Unityのファイル名の命名規則

  1. ファイル名: パスカルケースが推奨されます。
    • スクリプト: PlayerController.cs, EnemyAI.cs
    • シーン: MainMenu.unity, Level01.unity
    • プレハブ: RedEnemy.prefab, HealthPickup.prefab
  2. フォルダ名: 一般的にはパスカルケースまたはケバブケース。
    • Scripts, Materials, Textures, Scenes
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

目次