プログラミング初心者です。
Cloud9を利用し、laravelでアプリ開発を進めております。
ファイル編集後、ローカルで動作することを確認し、
「 $git push heroku master 」を行ったところ、
htmlは更新されましたが、cssが反映されていませんでした。
cssは、Laravel Mix でコンパイルしたものを読み込んでおります。
エラーメッセージ
デベロッパーツールのConsoleタブに、
GET https://xxx.herokuapp.com/css/home.css?id=ec72f836c8dd43ec9e22 net::ERR_ABORTED 404 (Not Found)
といったエラーエッセージが表記されています。
試したこと
①webpack.mix.js
に、if文を追加。
mix.js('resources/js/app.js', 'public/js') .sass('resources/sass/app.scss', 'public/css') .sass('resources/sass/home.scss', 'public/css') //上記のように、各ページごとのscssファイルパスが複数記述されています .version() .options({ processCssUrls: false }); //以下を追加 if (mix.inProduction()) { mix.version(); }
②ターミナルにて、以下コマンドを実行。
$ npm run production
③viewファイルを修正。
<link href="{{ mix('css/app.css') }}" rel="stylesheet"> <!-- 修正前 --> <!-- <link href="{{ secure_asset('css/app.css') }}" rel="stylesheet"> -->
今回、bladeテンプレートを使用しているので、
ヘッダー用のviewファイルで@yield('css')
とし、
各ページのファイルで
@section('css') <link href="{{ mix('css/home.css') }}" rel="stylesheet"> @endsection
といった形で読み込んでおります。
④ローカル環境での動作確認後、Heroku更新。
$ git add . $ git commit -m "コミットメッセージ" $ git push heroku master
その後「 $heroku open 」を行い、アプリをブラウザ表示させましたが、
cssは反映されず、リロードを行っても変化はありませんでした。
一番初めにデプロイをした際には問題は無かったのですが、
2回目以降、反映されなくなりました。
ちなみに、
初めは、全てのページのスタイルを 1つのcssファイルから読み込んでおりました。
2回目から、各ページのcssファイルを@sectionで読み込むように変更したので、1回目と2回目の間で新しいファイルがたくさん作成されています。
色々と調べてみたのですが、自分では解決できなかったので、
何が原因と考えられるのか、ヒントを頂けましたら嬉しいです。
よろしくお願いいたします。
補足情報(FW/ツールのバージョンなど)
Lalavel 5.8.38
GitHubも利用していますが、Herokuと連携はしておりません。
回答1件
あなたの回答
tips
プレビュー