katsumasa0514
@katsumasa0514 (ASAP k)

Are you sure you want to delete the question?

Leaving a resolved question undeleted may help others!

bootstrapのcssが読み込めない

WEBアプリを制作し、デプロイを終え問題なくWEB上で動いていたのですが、ある日を境にWEBアプリのディスプレイが部分的に左寄りになってしまいました。調べるとbootstrap-vueのcssが読みこまれなくなっていたので、それが原因だと考えています。また、実装環境と開発環境で同じエラーが出ていたので、サーバー側に問題はないかと思っています。

WEBアプリ

発生している問題・エラー

Resource interpreted as Stylesheet but transferred with MIME type text/plain: "https://unpkg.com/bootstrap/dist/css/bootstrap.min.css".
Resource interpreted as Stylesheet but transferred with MIME type text/html: "https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.css".
html
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap/dist/css/bootstrap.min.css" />
    <link type="text/css" rel="stylesheet" href="https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.css" />
    <link href="https://fonts.googleapis.com/css?family=Anton" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css?family=Noto+Serif+JP" rel="stylesheet">
    {% block extra_head %}{% endblock %}
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.12/dist/vue.js"></script>
    <script src="https://unpkg.com/vue-star-rating@1.7.0/dist/VueStarRating.umd.min.js"></script>
    <script src="https://unpkg.com/babel-polyfill@latest/dist/polyfill.min.js"></script>
    <script src="https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.js"></script>
    <script src="https://unpkg.com/vue@latest/dist/vue.min.js"></script>
    <script src="https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue.min.js"></script>
    <script src="https://unpkg.com/bootstrap-vue@latest/dist/bootstrap-vue-icons.min.js"></script>
    <script src="https://cdn.rawgit.com/SSENSE/vue-carousel/6823411d/dist/vue-carousel.min.js"></script>
</head>

chromeのディベロッパーのネットワークを確認すると302が出ていました。

自分なりに調べたのですが、解決策が分かりませんでした。
お詳しい方がお見えになりましたら、ご助力いただけると幸いです。

至らない点が多々あるかと思いますがよろしくお願いします。

0

2Answer

サーバーは何ですか?
サーバーの設定でcssのMIMEタイプの設定がおかしくなっていませんか?

0Like

Comments

  1. @katsumasa0514

    Questioner

    回答ありがとうございます。

    開発環境ではdjangoのrunserverを使っています。
    実装環境ではAWSのEC2でミドルサーバーにNginxとgunicornを使っています。

    両環境で同じエラーが出ているので、開発環境のエラーから解決していきたいと思うのですが、テストサーバーの設定を変更すること自体可能なのでしょうか?
  2. wget --server-response https://unpkg.com/bootstrap/dist/css/bootstrap.min.css
    してみたら、まず302で /bootstrap@5.0.0/dist/css/bootstrap.min.css にリダイレクトされて、結果、Content-Type: text/css; charset=utf-8 になっていますね。サーバーの問題ではないようです。
    ちゃんとtext/cssになっているのに、エラーでは「text/plainで送られてきた」と言っていますね。そのエラーが、どの環境の、どの部分で、誰が出しているのか、そこをちゃんと調査する必要があると思います。
  3. @katsumasa0514

    Questioner

    回答ありがとうございます。 

    恥ずかしい話ではありますが、調査方法自体が調べてもわかりません。もし方法がわかるのであればご教授いただけませんでしょうか?

    よろしくお願いします。

原因:CDNで読み込んでいたcssがバージョンの関係か、内容が変わっていたと考えられる。
解決策:バージョンを固定して記述することで解決したと考えられる。

###変更前

<link type="text/css" rel="stylesheet" href="//unpkg.com/bootstrap/dist/css/bootstrap.min.css" />

###変更後

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">

ご協力いただきありがとうございました。

0Like

Your answer might help someone💌