Qoolius
About

Welcome to our Website
Qoolius

gatsby-browser.jsにグローバルCSSの import を集約

gatsbyを使って開発していると、たまに下記のwarningが出力される。

 

warn chunk commons [mini-css-extract-plugin] Conflicting order. Following module has been added: * css ./node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[9].oneOf[0].use[1]!./node_modules/postcss-loader/ dist/cjs.js??

 

そのログは エラーではなく “警告(warn)” で、結論としてはこうです。

  • 動作自体は続行されますgatsby develop が落ちる原因ではないことが多い)

  • ⚠️ ただし CSS の適用順がビルドごとに変わる可能性があり、見た目が崩れるリスクはあります

内容は **mini-css-extract-plugin の「CSS の順序が衝突して最適な順番に並べられない」**という警告です。


何が原因?

ざっくり言うと、あなたのプロジェクトでは

  • src/css/bodystyle.css みたいな グローバルCSS

  • *.module.scss みたいな CSS Modules(SCSS)

  • 複数ページ/テンプレートでの import

が混ざっていて、Webpack が

「この順番で入れたい要求がページごとに矛盾してる」

状態になっています。

例:Aページは bodystyle.css → blogDetail.module.scss を希望
Bページは blogDetail.module.scss → footer.css を希望
…みたいに “望ましい順序” がページによって食い違うと発生します。


放置していい?

✅ まずは放置でOK(開発中は特に)

  • ほとんどの場合は 見た目がたまたま崩れない

  • Gatsby の dev では よく見る警告です

ただし「たまに CSS が勝ったり負けたりして崩れる」なら対処した方が良いです。


対処法

対処:グローバルCSSの import を「1箇所」に集約(最も正攻法)

グローバルCSSは “入口” で一回だけ読み込むのが安定です。

Gatsby なら典型は:

gatsby-browser.js を作る(なければ)

 
import "./src/css/bodystyle.css"; import "./src/css/footer.css"; import "./src/css/openai.css"; import "./src/css/chatComponent.css"; import "./src/css/Modal.css"; import "./src/css/checkbox.css";

そして、各コンポーネントやページからは 同じグローバルCSSの import を消す

👉 これで順序が固定されて警告が消えることが多いです。