2017-08-06 14 views
1

現在Golangサイトで作業中ですが、フロントエンドとしてgoテンプレートを使用しています。GolangテンプレートでJSとCSSのパスを処理する方法

  1. ヘッド::<head>タグを含む、およびCSSの一部の輸入
  2. ヘッダー:それはなど、サイト、ロゴ、のナビゲーションバーを定義する私は、このテンプレートを作成したサイトの異なる部分を分離するためにHTMLのみ
  3. フッター:サイトのフッターのHTMLを定義します。
  4. SomePage:Bodyタグを定義するこのテンプレートは、Head、Header、およびフッターを呼び出します。このファイルには、たとえばインデックス、ログインなどがあります。

フッターテンプレートをネストした直後にJavascriptのインポートを追加しましたが、bodyタグの内部にはまだ入りました。例として、私は彼らが好きなコメントを追加しました:私は、これらの静的ファイルを提供するためにpublicを定義している私のプロジェクトのルートで

<script src="public/js/SomeJS.js"></script> 
<link href="public/css/SomeCSS.css" type="text/css" rel="stylesheet"/> 

、これはかなりいい取り組んでいます。今、プロジェクトのいくつかのルートがあります。

router.GET("/",controllers.Index) 
router.GET("/login",controllers.Login) 

最初のルートでは、ライブラリはかなりうまく読み込まれています。そして、第2などのルートで、私はブラウザがなどのファイルことを見つけるためにしようとするためにそれらをロードすることはできませんよ。それはURLへloginを追加している理由この場合

http://myserver/login/public/css/someCSS.css instead of 
http://myserver/public/css/someCSS.css 

、私は理解しています。 だから、私の質問は、どのように正常に処理されますか?今では

私は、輸入品に例をドメインとフォルダを追加しました:

<script src="MyDomain.com/public/js/SomeJS.js"></script> 

しかし、いつでもドメイン変更は、私が編集する必要があることをので、私は本当に、この方法でそれを行うにはしたくありませんコードとそれは本当に素朴ではありません。また、作成したすべてのビューにライブラリのインポートを追加したくありません。私はすべてのプロジェクトに共通するいくつかのファイル(CSSとJS)を持っています。

ありがとうございました!

答えて

1

domain rootから呼び出すと、パスの途中に/が追加されます。 /なし

<script src="/public/js/SomeJS.js"></script> 
<link href="/public/css/SomeCSS.css" type="text/css" rel="stylesheet"/> 

、それは、current domain directoryからrelative pathと呼ばれています。これは今あなたが持っている行動です。

出力:

http://myserver/public/css/someCSS.css 
http://myserver/public/js/SomeJS.js 
関連する問題