2017-12-19 5 views
3

私は初心者F#プログラミングではどのように、サーブウェブ

をCSSを使用すると、今私は、私は私が使用できない問題を抱えているthis link

から続くF#とサーブでウェブを作ってみます私のプロジェクトでは、CSS(画像を参照)

id="box" wasn't show on browser

ファイルView.fs

let index container = 
html [] [ 
    head [] [ 
     title [] "Suave Music Store" 
     cssLink "/Site.css" 
    ] 

    body [] [ 
     div ["id", "header"] [ 
      tag "h1" [] [ 
       a Path.home [] [Text "F# Suave Music Store"] 
      ] 
     ] 

     div ["id", "main"] [ 
      div ["id", "box"] [ 
       a Path.Store.browse [] [Text "Test Link"] 
       tag "h1" [] [ 
        a "http://www.google.com" [] [Text "Google"] 
       ] 
      ] 
     ] 
     div ["id", "footer"] [ 
      Text "built with " 
      a "http://fsharp.org" [] [Text "F#"] 
      Text " and " 
      a "http://suave.io" [] [Text "Suave.IO"] 
     ] 
    ] 
] 
|> htmlToString 
ファイルSite.css

#box 
{ 
    border:4px solid #000; 
} 

と#box私はそれを修正することができますか?

+0

をen/css.htmlページでは、Suaveサーバが 'pathRegex'を使って' Site.css'ファイルをクライアントに適切に提供していることを確認します。その行をSuaveサーバーコードに追加しましたか?もしそうでなければ、それが原因かもしれません:ブラウザはあなたのCSSファイルをまだ見ていません。 – rmunn

+0

はい、私はpathRegex "(。*)\。(css | png)"> => App.fsファイルのwebPartのFiles.browseHomeを必ず追加します。しかしブラウザは#フッタであるフッタのドットラインのような別のCSSを見る – MyNaMeArT

答えて

2

これはキャッシングの問題です。CSSファイルを変更していて、ブラウザが古いバージョンをキャッシュすると、サーバー上の最近の変更が表示されないことがあります。

おそらくキャッシュを避けるようにブラウザを設定できます。また、あなたは(開発およびデバッグ時に)キャッシュを無効にHTTPヘッダを送信するようにサーバーを変更することができます。https://theimowski.gitbooks.io/suave-music-store/content/の下部にある

let noCache = 
    Writers.setHeader "Cache-Control" "no-cache, no-store, must-revalidate" 
    >>= Writers.setHeader "Pragma" "no-cache" 
    >>= Writers.setHeader "Expires" "0" 

// And then in your main handler add 'noCache' 
pathRegex "(.*)\.(css|png)" >=> noCache >=> Files.browseHome