質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

Q&A

解決済

1回答

839閲覧

[gorilla]静的ファイルを読み込ませたい。CSS, JS

uk_63

総合スコア29

Go

Go(golang)は、Googleで開発されたオープンソースのプログラミング言語です。

0グッド

1クリップ

投稿2019/06/22 13:38

実現したいこと

静的ファイルを読み込ませたい。(CSS, JS)

現状と困っていること

ライブラリはgorilla/muxを使用しています。

静的ファイルがブラウザ表示したときに読み込まれません。

  • ファイル構造
./front ├── handler │   └── handler.go ├── main.go(staticを読み込ませる処理を書いている) ├── static │   ├── css │   │   └── style.css │   └── js └── template ├── header.html ├── layout.html(ここで<link>を書いている) ├── post │   ├── postRegisterConfirmForm.html │   ├── postRegisterForm.html │   └── result.html └── template.go
  • ソースコード

main.go

1 2(必要な箇所のみ抜粋) 3 4func main() { 5 r := mux.NewRouter() 6 7 ..... 8 9 // static フォルダの読み取り 10 http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) 11 12 svc := &http.Server{ 13 Handler: r, 14 Addr: "127.0.0.1:8080", 15 } 16 log.Fatalln(svc.ListenAndServe()) 17}

layout.html

1{{define "layout"}} 2<!DOCTYPE html> 3<html> 4<head> 5 <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 6 <title>Clippo</title> 7 <link rel="stylesheet" type="text/css" href="../static/css/style.css"> 8 <link href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous"> 9</head> 10<body> 11 {{template "header" . }} 12 <div class="container"> 13 {{template "content" . }} 14 </div> 15</body> 16</html> 17{{end}}

エラー内容と試したこと

ブラウザの検証画面のConsole上で、下記エラーが発生しています。

Refused to apply style from 'http://localhost:8080/static/css/style.css' because its MIME type ('text/plain') is not a supported stylesheet MIME type, and strict MIME checking is enabled.

下記を参考にファイル構造やプログラムを書き換えましたがCSSが適応されませんでした。

お願いしたいこと

どうか解決方法を教えていただけませんか?

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

自己解決

実行するワーキングディレクトリを/frontに変更した後、go run main.goで解決しました。

静的ファイルの読み込みでかなり時間をとってしまい、実行するディレクトリを注意する必要があり反省しました。

go

1func main() { 2 r := mux.NewRouter() 3 4 ..... 5 6 // 下記に修正 7 r.PathPrefix("/static/").Handler(http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) 8 9 svc := &http.Server{ 10 Handler: r, 11 Addr: "127.0.0.1:8080", 12 } 13 log.Fatalln(svc.ListenAndServe()) 14}

投稿2019/06/24 12:28

uk_63

総合スコア29

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問